繁体   English   中英

将多个数据框写入 Excel 文件中的多个工作表

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM