解决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

 

posted @   肖祥  阅读(7712)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· 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版性能对比(单机版)
点击右上角即可分享
微信分享提示