工作之中一个excel内会有多个sheet。但是将两组数据先后保存到一个excel内会发现只有后一组保存的数据,因为前一组的数据被后写入的数据覆盖了。如:
这是两组数据,df1与df2,我们分别使用to_excel将这两组数据保存到同一个excel内。这里我们将sheet_name这个参数改成不同的
但是结果只有一个df2,即df1被df2这组数据覆盖了。但是能不能两组数据同时写入、保存,但是不分先后顺序。答案是可以的!
为了这一方法,我们需要使用到ExcelWriter
方法很简单,不用再重新导入新的模块,只要使用pd.ExcelWriter建立一个writer,然后,将df1,df2都使用to_excel(writer, sheet名),最后一次性将这些数据保存,并关闭writer就完成了
当然跟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,自动完成。