我正致力于在一个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 tabsanother file having few tabs
输出:我想要一个单独的excel文件,它包含所有文件中的所有选项卡,并从那些在两个文件中具有相同选项卡的文件中附加数据。即11111222233333和11111的数据应该来自这两个文件。在
我终于找到了问题的答案!!在
我只需将对象赋给sheet_name属性,它会自动将dataframe的每个实例复制到以sheet name为workbook_Id的excel工作表中。数据框到excel(writer,sheet_name=工作簿_Id)
只需将
writer.save()
移出for
循环:对于较短的代码,只需迭代过滤,而不需要工作簿对象:
^{pr2}$使用XlsxWriter可以将多个数据帧写入单独的工作表或同一工作表中的不同位置。在
请参阅XlsxWriter文档的Handling multiple Pandas Dataframes部分或示例here和{a3}。在
如果它对你的案子不起作用,那么我猜:
workbook_Id
不是唯一的,您正在重写同一个工作表。在workbook_Id == data_id
只对一次。在我会从1开始。和2。并加入一些调试语句。在
相关问题 更多 >
编程相关推荐