Pandas之将保存的数据写入到Excel的多个sheet

时间:2024-03-27 11:01:38

工作之中一个excel内会有多个sheet。但是将两组数据先后保存到一个excel内会发现只有后一组保存的数据,因为前一组的数据被后写入的数据覆盖了。如:

Pandas之将保存的数据写入到Excel的多个sheet

这是两组数据,df1与df2,我们分别使用to_excel将这两组数据保存到同一个excel内。这里我们将sheet_name这个参数改成不同的

Pandas之将保存的数据写入到Excel的多个sheet

Pandas之将保存的数据写入到Excel的多个sheet

但是结果只有一个df2,即df1被df2这组数据覆盖了。但是能不能两组数据同时写入、保存,但是不分先后顺序。答案是可以的!

为了这一方法,我们需要使用到ExcelWriter

Pandas之将保存的数据写入到Excel的多个sheet

方法很简单,不用再重新导入新的模块,只要使用pd.ExcelWriter建立一个writer,然后,将df1,df2都使用to_excel(writer, sheet名),最后一次性将这些数据保存,并关闭writer就完成了

Pandas之将保存的数据写入到Excel的多个sheet

Pandas之将保存的数据写入到Excel的多个sheet

当然跟open文件一样,上面的5行代码也可以简写如下:

with pd.ExcelWriter(r'C:\Users\数据\Desktop\data\test2.xls') as writer:
    df1.to_excel(writer, sheet_name='df1')
    df2.to_excel(writer, sheet_name='df2')

 

简单高效,不需要再单独写save和close,自动完成。