我有一个在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')
答案 0 :(得分:1)
每次迭代都使用相同的工作表-ws = wb1.active()
-然后将结果保存到另一个工作簿中。
您只需要在每次迭代中创建一个new sheet。像这样:
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')
请注意,在格式化所有工作表后,save
会缩进以仅保存文件。不必每次迭代都保存。保存操作可能会花费一些时间,尤其是在添加更多标签时。