一、问题描述
在使用Pandas的to_excel()方法写入数据时,当我们想将多个数据写入一个Excel表的不同DataFrame中,虽然能够指定sheet_name参数,但是会重写整个Excel之后才会存储。
现在有3个sheet,内容如下:
>>> import pandas as pd >>> df1 = pd.read_excel('456.xlsx', sheet_name='Sheet1') >>> df2 = pd.read_excel('456.xlsx', sheet_name='Sheet2') >>> df3 = pd.read_excel('456.xlsx', sheet_name='Sheet3') >>> df1姓名 性别 年龄 0 张三 男 23 1 李四 男 25 2 王五 男 21 >>> df2姓名 身高 体重 0 张三 170 130 1 李四 171 126 2 王五 165 140 >>> df3姓名 收入 0 张三 4000 1 李四 4500 2 王五 5000 >>>
一般情况下:
>>> df1.to_excel('789.xlsx', sheet_name='Sheet1', index=False, header=True) >>> df2.to_excel('789.xlsx', sheet_name='Sheet2', index=False, header=True) >>> df3.to_excel('789.xlsx', sheet_name='Sheet3', index=False, header=True)
结果如下:
只有最后一个存储的内饰数据,并不符合我们的需求。
二、解决方法
使用 ExcelWriter 的方式保存:
with pd.ExcelWriter('789.xlsx') as writer:df1.to_excel(writer, sheet_name='Sheet1', index=False, header=True)df2.to_excel(writer, sheet_name='Sheet2', index=False, header=True)df3.to_excel(writer, sheet_name='Sheet3', index=False, header=True)
结果如下:
实现插入相同Excel表中不同Sheet_name!
参考链接:https://www.cnblogs.com/xiao987334176/p/14138123.html