如何通过Python创建多个Excel表格?

Ray*_*234 1 python excel openpyxl

我有一个在 for 循环中运行的优化问题。我希望将每个新迭代的结果保存在同一工作簿的不同选项卡中。

这就是我正在做的事情。我没有在同一工作簿中提供多个选项卡,而是获得了多个工作簿。

from openpyxl import Workbook
wb1 = Workbook()
for i in range(n):
    ws = wb1.active()
    ws.title = str(i)

    #code on formatting sheet, optimization problem

    wb1.save('outfile'+str(i)+'.xlsx')
Run Code Online (Sandbox Code Playgroud)

Tom*_*koo 5

每次迭代您都会获取相同的工作表 -ws = wb1.active()然后只需将结果保存到不同的工作簿中。

您只需在每次迭代中创建一个新工作表即可。像这样的东西:

from openpyxl import Workbook
wb1 = Workbook()
for i in range(n):
    ws = wb1.create_sheet("run " + str(i))

    #code on formatting sheet, optimization problem

wb1.save('outfile.xlsx')
Run Code Online (Sandbox Code Playgroud)

请注意,save在所有工作表格式化后,缩进只是为了保存文件。没有必要在每次迭代时都进行保存。保存操作可能需要时间,尤其是在添加更多选项卡时。