簡體   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