我有一个熊猫数据框df,我想将其覆盖到一个Dataexcel文件表中,同时保留所有其他表,因为其他表具有与表链接的公式Data
df
Data
我使用了以下代码,但它不会覆盖现有工作表,只是创建了一个新的工作表,其名称为 Data 1
Data 1
with pd.ExcelWriter(filename, engine="openpyxl", mode="a") as writer: df.to_excel(writer, sheet_name="Data")
有没有办法覆盖现有工作表?
您可以使用 openpyxl :
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知道工作表。否则,它将使用您传递的名称创建一个新工作表。
writer.sheets
ExcelWriter