场景:
1.读取包含多个工作表的excel文件
1.对于输入的每个工作表,读取几个特定的列并操作现有数据
1.创建输出 Dataframe
1.将此 Dataframe 作为新工作表保存在现有输出文件中
下面是我的代码片段:
for sheet in all_sheets: # all_sheets is the list of sheets from the input file
print(sheet) # Here i transform the data but removed the
writer = pd.ExcelWriter('Output.xlsx', engine='xlsxwriter')
df_final_4.to_excel(writer, sheet_name=sheet, index=True)
writer.save()
问题陈述:
1.该文件仅使用一个工作表写入,该工作表包含最后一次迭代的数据。
1.上一个小版本将被覆盖,输出文件中仅保留一个页面。
1.我试过多种方法,但每种方法都得到了同样的结果。
有谁能告诉我我错在哪里吗?
其他方法:
x一个一个一个一个x一个一个二个一个x一个一个三个一个
2条答案
按热度按时间km0tfn4u1#
我可以通过更改代码的顺序来解决这个问题:
这基本上是因为我们希望在同一个文件中写入多个工作表,因此编写器的初始化或定义应该只完成一次。
但是,如果只需要写入一个工作表,则可以在循环内的任何位置定义写入器。
ocebsuys2#
我设法解决这个使用字典。创建一个字典与基本键和下面的代码hellped:
这创建了具有多个 Dataframe 的新表。