熊猫模式='a',if_sheet_exists='overlay'不起作用

Vic*_*aon 15 python excel xlsx pandas

即使使用下面的代码,.xlsx 文件每张纸上的内容也会被覆盖,而不是附加。缺什么?

\n
writer = pd.ExcelWriter(excelfilepath, engine='openpyxl', mode='a', if_sheet_exists='overlay')\n\ndf1.to_excel(writer, sheet_name='N\xc3\xbacleo de TRIAGEM')\n\ndf2.to_excel(writer, sheet_name='N\xc3\xbacleo de FAL\xc3\x8aNCIAS')\n\ndf3.to_excel(writer, sheet_name='RE - Triagem')\n\ndf4.to_excel(writer, sheet_name='RE - Fal\xc3\xaancias')\n\nwriter.save()\n
Run Code Online (Sandbox Code Playgroud)\n

小智 8

我知道这并不典型,并且很可能会在 Pandas 的未来版本中修复,但使用startrowwith 版本1.4.2对我有用。尝试以下代码:

\n
writer = pd.ExcelWriter(excelfilepath, engine='openpyxl', mode='a', if_sheet_exists='overlay')\n\ndf1.to_excel(writer, sheet_name='N\xc3\xbacleo de TRIAGEM', startrow=writer.sheets['N\xc3\xbacleo de TRIAGEM'].max_row, header=None)\n\ndf2.to_excel(writer, sheet_name='N\xc3\xbacleo de FAL\xc3\x8aNCIAS', startrow=writer.sheets['N\xc3\xbacleo de FAL\xc3\x8aNCIAS'].max_row, header=None)\n\ndf3.to_excel(writer, sheet_name='RE - Triagem', startrow=writer.sheets['RE - Triagem'].max_row, header=None)\n\ndf4.to_excel(writer, sheet_name='RE - Fal\xc3\xaancias', startrow=writer.sheets['RE - Fal\xc3\xaancias'].max_row, header=None)\n\nwriter.save()\n
Run Code Online (Sandbox Code Playgroud)\n


小智 2

对于未来的任何人。if_sheet_exists='overlay'如果不起作用,请检查您的 Pandas 版本。这是在 1.4.0 版本中添加到 pandas 中的。只是尝试更新它。