![](/img/trans.png)
[英]Python/Pandas: writing multiple Dataframes to Excel sheets using a “for-loop”
[英]Writing multiple dataframes to multiple sheets in an Excel file
我有两个数据框,我想分别将它们写入 Excel 文件中自己的工作表中。 以下代码完成了我想要的:
import pandas as pd
df_x = pd.DataFrame({'a':[1, 2, 3]})
df_y = pd.DataFrame({'b':['a', 'b', 'c']})
writer = pd.ExcelWriter('df_comb.xlsx', engine='xlsxwriter')
df_x.to_excel(writer, sheet_name='df_x', index=False)
df_y.to_excel(writer, sheet_name='df_y', index=False)
writer.save()
writer.close()
但是,在我的实际用例中,我有大量数据帧,不想为每个数据帧编写一个to_excel
语句。 无论如何循环数据帧列表来完成此操作,类似于:
for i in [df_x, df_y]:
i.to_excel(writer, sheet_name = i, index=False)
您所拥有的几乎就在那里,我认为您在尝试将 sheet_name 也分配为 DataFrame 时会遇到问题。 我建议您还可以列出您希望工作表成为的名称。 然后你可以做这样的事情:
names = ["df_x", "df_y"]
dataframes = [df_x, df_y]
for i, frame in enumerate(dataframes):
frame.to_excel(writer, sheet_name = names[i], index=False)
如果您不熟悉它, enumerate
创建一个元组,其中值是索引和列表中的项目,允许您索引另一个列表。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.