解决Pandas的to_excel()写入不同Sheet,而不会被重写
一、概述
在使用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)
结果如下:
只有最后一个存储的内饰数据,并不符合我们的需求。
二、解决方法
使用新的方式保存
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://blog.csdn.net/weixin_43060843/article/details/100766677
分类:
python 运维开发
标签:
Pandas
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
2019-12-07 CentOS修改ulimit
2018-12-07 kafka基本版与kafka acl版性能对比(单机版)