如何在保留所有其他工作表的同时覆盖现有Excel工作表上的数据?

发布于 2021-01-29 14:10:00

我有一个熊猫数据框df,我想将其覆盖到一个Dataexcel文件表中,同时保留所有其他表,因为其他表具有与表链接的公式Data

我使用了以下代码,但它不会覆盖现有工作表,只是创建了一个新的工作表,其名称为 Data 1

with pd.ExcelWriter(filename, engine="openpyxl", mode="a") as writer:
     df.to_excel(writer, sheet_name="Data")

有没有办法覆盖现有工作表?

关注者
0
被浏览
300
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    您可以使用 openpyxl

    import pandas as pd
    from openpyxl import load_workbook
    
    book = load_workbook(filename)
    writer = pd.ExcelWriter(filename, engine='openpyxl') 
    writer.book = book
    
    writer.sheets = dict((ws.title, ws) for ws in book.worksheets)
    
    df.to_excel(writer, "Data")
    
    writer.save()
    

    您需要初始化writer.sheets以便让您ExcelWriter知道工作表。否则,它将使用您传递的名称创建一个新工作表。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看