gpt4 book ai didi

python - 在 excel xlsxwriter python 中迭代多个 Dataframe 并写入 excel 电子表格

转载 作者:行者123 更新时间:2023-11-30 22:40:38 44 4
gpt4 key购买 nike

我正在努力在 Excel 文件中的 Excel 电子表格中编写多个数据帧。数据帧使用 for 循环生成,因此在每次迭代中我都会得到下一个可用的数据帧,但我无法在电子表格中写入每个数据帧。我只能在第一个电子表格中写入第一个数据帧。下面是代码片段:

 writer = pd.ExcelWriter('output.xlsx', engine='xlsxwriter')
workbook = writer.book
web_ClassID=df_stag["Web-Class ID"].unique()
for data_id, df in df_stag.groupby('Web-Class ID'):
for workbook_Id in web_ClassID:
if workbook_Id == data_id:
for index, col in enumerate(df):
df.to_excel(writer,sheet_name=workbook_Id,index=False )
writer.save()
workbook.close()

注意:这里的webclass_id是对象的类型df_stag:是一个按Webclass_id分组的数据框df 是我想写入 Excel 电子表格的数据框另外,每当找到新的 Webclass_id 时,我都会创建电子表格,因此在找到时会使用相应的 Webclass_id 创建选项卡。 One file having few tabs another file having few tabs

输出:我想要一个 Excel 文件,其中包含所有文件中的所有选项卡以及两个文件中具有相同选项卡的文件中的附加数据。 IE。 11111,22222,33333 和 11111 中的数据应该来自这两个文件。

最佳答案

只需将 writer.save() 移到 for 循环之外即可:

writer = pd.ExcelWriter('output.xlsx', engine='xlsxwriter')
workbook = writer.book
web_ClassID=df_stag["Web-Class ID"].unique()

for data_id, df in df_stag.groupby('Web-Class ID'):
for workbook_Id in web_ClassID:
if workbook_Id == data_id:
for index, col in enumerate(df):
df.to_excel(writer,sheet_name=workbook_Id,index=False )
writer.save()
workbook.close()

对于较短的代码,只需迭代过滤即可,无需 workbook 对象:

writer = pd.ExcelWriter('output.xlsx')
for d in df_stag["Web-Class ID"].unique():
df_stag[df_stag["Web-Class ID"]==d].to_excel(writer, sheet_name=d, index=False)

writer.save()

关于python - 在 excel xlsxwriter python 中迭代多个 Dataframe 并写入 excel 电子表格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42859309/

44 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com