python使用xlrd模块读写Excel文件的方法


Posted in Python onMay 06, 2015

本文实例讲述了python使用xlrd模块读写Excel文件的方法。分享给大家供大家参考。具体如下:

一、安装xlrd模块

到python官网下载http://pypi.python.org/pypi/xlrd模块安装,前提是已经安装了python 环境。

二、使用介绍

1、导入模块

import xlrd

2、打开Excel文件读取数据

data = xlrd.open_workbook('excelFile.xls')

3、使用技巧

获取一个工作表

table = data.sheets()[0] #通过索引顺序获取 

table = data.sheet_by_index(0) #通过索引顺序获取 

table = data.sheet_by_name(u'Sheet1')#通过名称获取

获取整行和整列的值(数组)

table.row_values(i) 

table.col_values(i)

获取行数和列数

nrows = table.nrows 

ncols = table.ncols

循环行列表数据

for i in range(nrows ): 

print table.row_values(i)

单元格

cell_A1 = table.cell(0,0).value 

cell_C4 = table.cell(2,3).value

使用行列索引

cell_A1 = table.row(0)[0].value 

cell_A2 = table.col(1)[0].value

简单的写入

row = 0 

col = 0 

# 类型 0 empty,1 string, 2 number, 3 date, 4 boolean, 5 error 

ctype = 1 value = '单元格的值' 

xf = 0 # 扩展的格式化 

table.put_cell(row, col, ctype, value, xf) 

table.cell(0,0)  #单元格的值' 

table.cell(0,0).value #单元格的值'

三、Demo代码

Demo代码其实很简单,就是读取Excel数据。

# -*- coding: utf-8 -*-
 import xdrlib ,sys
 import xlrd
 def open_excel(file= 'file.xls'):
   try:
     data = xlrd.open_workbook(file)
     return data
   except Exception,e:
     print str(e)
 #根据索引获取Excel表格中的数据  参数:file:Excel文件路径   colnameindex:表头列名所在行的所以 ,by_index:表的索引
 def excel_table_byindex(file= 'file.xls',colnameindex=0,by_index=0):
   data = open_excel(file)
   table = data.sheets()[by_index]
   nrows = table.nrows #行数
   ncols = table.ncols #列数
   colnames = table.row_values(colnameindex) #某一行数据
   list =[]
   for rownum in range(1,nrows):
     row = table.row_values(rownum)
     if row:
       app = {}
       for i in range(len(colnames)):
         app[colnames[i]] = row[i]
       list.append(app)
   return list
 #根据名称获取Excel表格中的数据  参数:file:Excel文件路径   colnameindex:表头列名所在行的所以 ,by_name:Sheet1名称
 def excel_table_byname(file= 'file.xls',colnameindex=0,by_name=u'Sheet1'):
   data = open_excel(file)
   table = data.sheet_by_name(by_name)
   nrows = table.nrows #行数
   colnames = table.row_values(colnameindex) #某一行数据
   list =[]
   for rownum in range(1,nrows):
     row = table.row_values(rownum)
     if row:
       app = {}
       for i in range(len(colnames)):
         app[colnames[i]] = row[i]
       list.append(app)
   return list
 def main():
  tables = excel_table_byindex()
  for row in tables:
    print row
  tables = excel_table_byname()
  for row in tables:
    print row
 if __name__=="__main__":
   main()

希望本文所述对大家的Python程序设计有所帮助。

Python 相关文章推荐
Python实现获取网站PR及百度权重
Jan 21 Python
python判断给定的字符串是否是有效日期的方法
May 13 Python
python脚本设置超时机制系统时间的方法
Feb 21 Python
Python查询IP地址归属完整代码
Jun 21 Python
单链表反转python实现代码示例
Feb 08 Python
Python使用matplotlib绘制随机漫步图
Aug 27 Python
python存储16bit和32bit图像的实例
Dec 05 Python
Django中使用CORS实现跨域请求过程解析
Aug 05 Python
python pprint模块中print()和pprint()两者的区别
Feb 10 Python
python3中sorted函数里cmp参数改变详解
Mar 12 Python
Python爬取12306车次信息代码详解
Aug 12 Python
python随机打印成绩排名表
Jun 23 Python
在Python中使用全局日志时需要注意的问题
May 06 #Python
python通过post提交数据的方法
May 06 #Python
python实现逆波兰计算表达式实例详解
May 06 #Python
编写Python脚本批量下载DesktopNexus壁纸的教程
May 06 #Python
在Windows服务器下用Apache和mod_wsgi配置Python应用的教程
May 06 #Python
利用Python脚本在Nginx和uwsgi上部署MoinMoin的教程
May 05 #Python
Python实现的HTTP并发测试完整示例
Apr 23 #Python
You might like
星际初学者游戏中永远要做的事
2020/03/04 星际争霸
PHP 解决session死锁的方法
2013/06/20 PHP
PHP的魔术常量__METHOD__简介
2014/07/08 PHP
浅析PHP数据导出知识点
2018/02/17 PHP
input 输入框获得/失去焦点时隐藏/显示文字(jquery版)
2013/04/02 Javascript
模拟多级复选框效果的jquery代码
2013/08/13 Javascript
基于javascript滚动图片具体实现
2013/11/18 Javascript
Jquery 返回json数据在IE浏览器中提示下载的问题
2014/05/18 Javascript
js中使用replace方法完成某个字符的转换
2014/08/20 Javascript
javascript中数组方法汇总
2015/07/07 Javascript
switch语句的妙用(必看篇)
2016/10/03 Javascript
简单实现jquery焦点图
2016/12/12 Javascript
JavaScript中引用vs复制示例详析
2018/12/06 Javascript
微信小程序去除左上角返回键的实现方法
2020/03/06 Javascript
微信小程序自定义弹出层效果
2020/05/26 Javascript
在Vuex中Mutations修改状态操作
2020/07/24 Javascript
[57:36]DOTA2-DPC中国联赛 正赛 SAG vs CDEC BO3 第三场 2月1日
2021/03/11 DOTA
python实现保存网页到本地示例
2014/03/16 Python
Python实现爬取百度贴吧帖子所有楼层图片的爬虫示例
2018/04/26 Python
python定时检测无响应进程并重启的实例代码
2019/04/22 Python
基于Django的乐观锁与悲观锁解决订单并发问题详解
2019/07/31 Python
Python list与NumPy array 区分详解
2019/11/06 Python
PYQT5开启多个线程和窗口,多线程与多窗口的交互实例
2019/12/13 Python
python爬取王者荣耀全皮肤的简单实现代码
2020/01/31 Python
Python之关于类变量的两种赋值区别详解
2020/03/12 Python
python将unicode和str互相转化的实现
2020/05/11 Python
Sandro Paris美国官网:典雅别致的法国时尚服饰品牌
2017/12/26 全球购物
购买美国制造的相框和画框架:Picture Frames
2018/08/14 全球购物
全球立体声:World Wide Stereo
2018/09/29 全球购物
英国折扣高尔夫商店:Discount Golf Store
2019/11/19 全球购物
啤酒销售实习自我鉴定
2013/09/24 职场文书
秋季红领巾广播稿
2014/01/27 职场文书
《藤野先生》教学反思
2014/02/19 职场文书
高三数学教学反思
2016/02/18 职场文书
2016中秋晚会开幕词
2016/03/03 职场文书
漫画「你在春天醒来」第10卷封面公开
2022/03/21 日漫