1、使用xlrd模块读取excel
1)安装xlrd模块wget https://pypi.python.org/packages/source/x/xlrd/xlrd-0.9.3.tar.gz
tar -xzvf xlrd-0.9.3.tar.gz
cd xlrd-0.9.3
python setup.py install
2)导入模块import xlrd
3)打开Excel文件读取数据data = xlrd.open_workbook('excelFile.xls')
4)使用技巧
4.1获取一个工作表table = data.sheets()[0] #通过索引顺序获取
table = data.sheet_by_index(0) #通过索引顺序获取
table = data.sheet_by_name(u'Sheet1') #通过名称获取
4.2)获取整行和整列的值(数组)table.row_values(i) #数据类型为list
table.col_values(i)
4.3)获取行数和列数nrows = table.nrows
ncols = table.ncols
4.4)循环行列表数据for i in range(nrows ):
print table.row_values(i)
4.5)获取单元格的值cell_A1 = table.cell(0,0).value
cell_C4 = table.cell(2,3).value
2、使用xlwd写入excel
1)安装xlwd模块wget https://pypi.python.org/packages/source/x/xlwt/xlwt-0.7.5.tar.gz
tar -xzvf xlwt-0.7.5.tar.gz
cd xlwt-0.7.5
python setup.py install
2)导入xlwtimport xlwt
3)新建一个excel文件file = xlwt.Workbook() #注意这里的Workbook首字母是大写
file = Workbook(encoding='utf-8'),就可以在excel中输出中文了,默认是ascii
4)新建一个sheettable = file.add_sheet('sheet name')
如果对一个单元格重复操作,会引发returns error:
# Exception: Attempt to overwrite cell:
# sheetname=u'sheet 1' rowx=0 colx=0
所以在打开时加cell_overwrite_ok=True 解决table = file.add_sheet('sheet name',cell_overwrite_ok=True )
5)写入数据table.write(行,列,value)table.write(0,0,'test')
6)保存文件file.save('demo.xls')
另外,使用style
style = xlwt.XFStyle() # 初始化样式
font = xlwt.Font() #为样式创建字体
font.name = 'Times New Roman'
font.bold = True
style.font = font #为样式设置字体
table.write(0, 0, 'some bold Times text', style) # 使用样式