pandas.DataFrame.to_excel()踩坑

在使用pandas.DataFrame.to_excel()保存数据时遇到原有Excel表格内容消失的问题。原因在于直接写入会导致原文件内容被覆盖。解决方案包括:1. 数据另存为新的文件;2. 使用with语句结合ExcelWriter保存多个Sheet。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题     

        今天使用pandas.DataFrame.to_excel()方法将DataFrame中的数据写入表格的时候,发现原有表格的数据消失不见,只剩下新添加的表格。具体情况是使用pandas.read_excel(r'D:\test.xlsx')读入test.xlsx表格中的数据,执行修改操作,然后用df.to_excel(r'D:\test.xlsx')将数据写入原表格中。结果原表格的数据全部消失,只剩下新表格的。

        于是查看官方文档,在上面找到该函数的说明,下图中蓝色的两行说明了为什么会出现这种情况,原因是使用ExcelWriter对象将表格原路径保存时,这个函数会将原表中的内容擦除,只保存DataFrame中的内容。

          

         下图中列出的是 to_excel 函数的参数

解决方案:

        1. 将数据 “另存为...” 新的文件,也就是修改新数据存储的文件名或路径。这样相当于只读取了原表的内容,没有保存到原表中,避免了对原表的修改。

        2. 使用 “with …… as ……:” 语句,如下所示,这段代码在write_path指定的路径中写入了两个表,分别是“Sheet1”,“Sheet2”,这两个表的内容来自 df 和 df_nlbl

with pd.ExcelWriter(write_path) as writer: 
    df.to_excel(writer, sheet_name='Sheet1')
    df_nlbl.to_excel(writer, sheet_name='Sheet2')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值