三个向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;