Python三个处理excel表格的库

三个向excel表格写入数的库:xlwt,xlsxwriter,openpyxl,代码如下:

 1 #第一个库,xlwt,不能写超过256列的表格
 2 import xlwt
 3 
 4 #新建workbook
 5 workbook = xlwt.Workbook()
 6 #新建worksheet
 7 sheetTest = workbook.add_sheet("sheetTest")
 8 for i in range(0,300):
 9     sheetTest.write(0, i, i)
10 #保存workbook
11 workbook.save('Test.xls')
12 #报错:ValueError: column index (256) not an int in range(256),说明xwlt不能写入超过256列
13 
14 
15 #第二个库,xlsxwirter,不能带格式写入
16 import xlsxwriter as xw
17 #新建workbook,并指定保存的路径
18 workbookxw = xw.Workbook("路径/workbookxw.xlsx")
19 #新建工作表
20 sheetAnotherTest = workbookxw.add_worksheet("sheetAnotherTest")
21 for i in range(0, 300):
22     sheetAnotherTest.write(0, i, i)
23 workbookxw.close()
24 #保存成功,可以写入256列
25 
26 #第三个库,openpyxl,我把它定义为追加写入的库,也可以利用模板追加写入,不同的地方是,它可以打开.xlsx格式的模板
27 import openpyxl
28 #打开文件,载入已有的工作簿
29 workbook = openpyxl.load_workbook("openpyxlxlsx.xlsx")
30 #读取工作簿里的第一个工作表
31 sheet0 = workbook['Sheet1']
32 #向工作表写入内容
33 sheet0["B3"] = '5' #B3代表的是单元格,也就是第二列第三行
34 sheet0["B4"] = '7'
35 sheet0["B5"] = 5
36 sheet0["B6"] = 6
37 
38 #保存工作簿
39 workbook.save("Test.xlsx")
40 #写入的完全根据模板格式来写的

总结:

1,xlwt不能写入超过256列,可以带格式;
2,xlsxwriter不支持带格式写入,可以写超过256列;
3,openpyxl的性能不是特别稳定,在使用过程中会出现不可预知的错误;
4,万一出现了要写入超过256列的表格,而且要带格式,只能用openpyxl;