【问题标题】:ExcelWriter not overwriting sheet and instead creating a new oneExcelWriter 不覆盖工作表而是创建一个新工作表
【发布时间】:2021-12-03 18:17:56
【问题描述】:

这可能让我想不通。

我正在使用这个块:

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

用 pandas 数据框覆盖现有的 Excel 工作表。

这不会覆盖工作表“MySheetName”,而是创建一个名为“MySheetName1”的新工作表。

我在这里错过了什么?

【问题讨论】:

标签: python-3.x excel pandas openpyxl pandas.excelwriter


【解决方案1】:

不是一个真正的答案,但我做了一个解决方法,只是删除原始工作表并随后重命名副本。

        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)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-07-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-22
    • 2020-02-15
    • 2015-12-04
    • 2016-06-14
    相关资源
    最近更新 更多