python提供了从Excel表格中读取数据的模块xlrd,和xlwt模块将数据写入Excel表格。
xlrd和xlwt模块需要我们自己安装。
1.准备工作
1.安装
-
外网安装方法
pip install xlrd
pip install xlwt -
内网安装方法
a.在python官网下载http://pypi.python.org/pypi/xlrdxlrd下载xlrd的安装包。
b.压缩包放置在python安装目录下python/Lib/site-packages。
c.解压压缩包:tar zxvf xlrd-1.0.0.tar.gz
d.进入到解压的文件夹:cd xlrd-1.0.0
e.执行命令:python setup,py install
2.测试
打来终端,python—>import xlrd。如果不报no xlrd module错误表示安装成功。
2.xlrd使用详解
-
1.打开Excel表格文件读取数据
#加上utf-8编码,放置遇到中文字符时乱码
data = xlrd.open_workbook(filename,encoding_override = ‘utf-8’)
问题:
1.文件名若包含中文,会报错找不到这个文件或目录。
2.获取sheet时若包含中文,也会报错。
解决方法1:
xlrd.open_workbook()函数中加上encoding_override = 'utf-8’属性。
解决方法2:
对参数进行utf8转码,如:filename = filename.decode(‘utf-8’)
¥获取sheet
工作表和对象
-
1.通过指定索引获取sheet工作表名称
sheet_name = data.sheet_names()[0] -
2.通过sheet工作表名称获取sheet对象
table =data.sheet_by_name(sheet_name) -
3.通过sheet索引获取sheet工作表的对象
table = data.sheet_by_index(0) -
4.获取所有sheet工作表的名字
sheetnames = data.sheet_names() #返回book中所有工作表的名字 -
5.检查某个sheet是否导入完毕
data.sheet_loaded(sheet_name or indx)
¥.行操作列操作
- 1.获取行数和列数
nrows=table.nrows #总行数
ncols = table.ncols #总列数 - 2.获得指定行列的值
返回对象为该行该列中所有单元格的数据组成的列表。
row_data = table.row_values(1) #获得第2行的数据列表
col_data = table.col_values(1) #获得第2列的数据列表
table