如何使用openpyxl同时在一个工作簿中写入两个工作表

我必须创build和写约5个工作表的新的Excel工作簿。 我的代码的目的是读取数据库,并根据一定的标准拆分成不同的工作表。

我已经在python 2.7中使用了下面的代码,使用openpyxl-1.1.0

from openpyxl.workbook import Workbook dest_filename = 'D:\\Splitted.xlsx' wb = Workbook() ws1 = wb.worksheets[0] ws1.title = 'Criterion1' ws2 = wb.worksheets[1] ws2.title = 'Criterion2' ## Read Database, get criterion if criterion == Criterion1: ws1.cell('A1').value = 'A1' ws1.cell('B1').value = 'B1' elif criterion == Criterion2: ws2.cell('A1').value = 'A2' ws2.cell('B1').value = 'B2' wb.save(filename = dest_filename) 

我能够写单张,但如果我尝试创build第二个工作表,我得到一个错误,说:“索引超出范围”在代码ws2 = wb.worksheets [1]

有没有解决scheme可以同时在单个工作簿中编写两个或多个工作表?

您不应该尝试通过索引访问工作表。 该错误是因为第二个工作表尚未创build(每个工作簿都自动创build一个工作表)。

 ws1 = wb.active ws2 = wb.create_sheet() 

应该解决你的问题。