我必须创建并编写一个新的 Excel 工作簿,其中包含大约 5 个工作表。我的代码的目的是读取数据库并根据特定标准将其拆分为不同的工作表。
我在 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)
我可以编写单张工作表,但如果我尝试创建第二个工作表,则会在代码中收到错误消息“索引超出范围”
ws2 = wb.工作表[1]
有没有办法同时在一个工作簿中写入2个或更多工作表?
您不应该尝试通过索引访问工作表。该错误是因为尚未创建第二个工作表(每个工作簿都会自动创建一个工作表)。
ws1 = wb.active
ws2 = wb.create_sheet()
应该可以解决你的问题。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)