【发布时间】:2019-03-27 22:08:02
【问题描述】:
我正在处理具有 8 个数据框的 pandas,并希望将它们中的每一个都写入 Excel 工作簿中自己的工作表中。我也想对每张纸应用格式。如果我复制并粘贴代码 8 次,我可以做到这一点,并调整工作表名称。但是,我试图通过使用 for 循环遍历我的数据帧来清理代码。但是我最终得到: TypeError: 'DataFrame' 对象是可变的,因此它们不能被散列。
with pd.ExcelWriter('Excel_Test.xlsx') as writer:
df_list = [df_1 ,df_2 ,df_3 ,df_4 ,df_5 ,df_6 ,df_7 ,df_8]
for sheet in df_list:
sheet.to_excel(writer, sheet_name=sheet, index=False)
worksheet = writer.sheets[sheet]
worksheet.set_zoom(80)
worksheet.set_column('A:A', 14)
worksheet.set_column('B:B', 50)
worksheet.set_column('C:C', 30)
worksheet.set_column('D:D', 30)
worksheet.set_column('E:E', 25)
worksheet.set_column('F:F', 20)
money_format = writer.book.add_format({'num_format': '$#,##0'})
integer_format = writer.book.add_format({'num_format': '#,##0'})
worksheet.set_column('H:H', 9, integer_format)
writer.save()
目标是能够让 for 循环遍历我的数据框列表,并使用设置的格式将每个数据框写入 excel。
【问题讨论】: