文章为个人学习工作过程中遇到的实际问题,在此做记录,日后好查询。


一、问题描述

将多个Dataframe分别写入Excel的多个Sheets,并且不能覆盖原有的sheet.

待写入Dataframe1:
在这里插入图片描述
待写入Dataframe2:
在这里插入图片描述
目标Excel
在这里插入图片描述

二、解决方法

直接使用多个Pandas的to_excel()会造成sheet覆写,最终只显示最后运行的to_excel语句内容。

df1.to_excel('xxx.xlsx',sheet_name='df1')
df2.to_excel('xxx.xlsx',sheet_name='df2')

运行结果(只有sheet=df2)
在这里插入图片描述

需要使用以下代码:

writer = pd.ExcelWriter('xxx.xlsx',mode='a',engine='openpyxl')

df1.to_excel(writer,"df1")
df2.to_excel(writer,"df2")

writer.save()
writer.close()

*mode='a'代表append,可以实现追加sheet;如果不写mode,则默认mode='w',会把原有的sheet覆盖。

结果如下:
在这里插入图片描述

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐