一、相关的库
- xlrd:用来读 Excel,只能操作 .xls 格式
- xlwt:用来写 Excel,只能操作 .xls 格式,超出 Excel 的单格内容长度上限 32767 就会报错
- xlutils:结合 xlrd 可以修改 Excel 文件,格式也要是 .xls,但必须同时安装以上3个库
- openpyxl:可以读写 Excel,针对 .xlsx 格式,无长度限制
二、xlrd
import xlrd
data = xlrd.open_workbook('demo.xls')
data.sheet_names()<br>
table = data.sheets()[0]
table = data.sheet_by_index(0)
table = data.sheet_by_name(u'Sheet1')<br>
nrows = table.nrows
ncols = table.ncols<br>
table.row_values(i)
table.col_values(i)<br>
for rownum in range(table.nrows):
print table.row_values(rownum)<br>
cell_A1 = table.cell(0,0).value
cell_C4 = table.cell(2,3).value<br>
cell_A1 = table.row(0)[0].value
cell_A2 = table.col(1)[0].value
三、xlwt
import xlwt
file = xlwt.Workbook()
table = file.add_sheet('sheet name')
table.write(0,0,'test')<br>
‘‘‘
如果对一个单元格重复操作,会引发
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)
file.save('demo.xls')<br>
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)
四、openpyxl
from openpyxl import Workbook
wb = Workbook()
ws = wb.active
ws['A1'] = 42
ws.append([1, 2, 3])
import datetime
ws['A2'] = datetime.datetime.now()
wb.save("sample.xlsx")