ExcelWriter 不覆盖 sheet 而是创建一个新的

ExcelWriter not overwriting sheet and instead creating a new one

这可能让我难以理解。

我正在使用这个块:

writer = pd.ExcelWriter(
    filepath, engine="openpyxl", mode="a", if_sheet_exists="replace"
)
df.to_excel(writer, "MySheetName", index=False)
writer.save()

用 pandas 数据框覆盖现有 Excel sheet。

这不会覆盖 sheet 'MySheetName',而是创建一个名为 'MySheetName1' 的新 sheet。

我在这里错过了什么?

不是真正的答案,但我通过删除原始 sheet 并在之后重命名副本来解决了这个问题。

        from openpyxl import load_workbook
        wb = load_workbook(path)
        if 'Provider Detail' in wb.sheetnames:
            wb.remove(wb['Name'])
        wb.save(path)

        ss_sheet = wb['Name1']
        ss_sheet.title = 'Name'
        wb.save(path)