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

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值