簡體   English   中英

Python Excelwriter 覆蓋 excel 表

[英]Python Excelwriter overwriting excel sheet

我正在嘗試用 excelwriter 覆蓋 excel 工作表。 但工作表沒有被覆蓋,但添加了新工作表。(新工作表名稱是 test1,test11 ....)下面是我的代碼

    with pd.ExcelWriter(self.filename, mode='a', if_sheet_exists='replace', engine="openpyxl") as writer:
        self.df_holders.to_excel(writer, sheet_name='test')

我的代碼有什么問題嗎?

模式a表示 append (這意味着在最后繼續寫入),因此永遠無法覆蓋任何內容。 而是使用代表寫入允許您覆蓋的模式w 有關更多信息,請查看文檔: https://pandas.pydata.org/docs/reference/api/pandas.ExcelWriter.html

with pd.ExcelWriter(self.filename, mode='w', if_sheet_exists='replace', engine="openpyxl") as writer:
    self.df_holders.to_excel(writer, sheet_name='test')

希望這可以幫助。 :D

您可以將模式更改為“w”或“w+”

你的代碼沒問題! 只需使用conda install pandas=1.4.3將您的 pandas 版本升級到最新版本,問題就會得到解決。

使用“xlsxwriter”作為您的引擎將解決問題

您甚至不需要“if_sheet_exists=replace”,因為 xlsxwriter 無論如何都會替換,如果工作表不退出,它將創建一個。

這是工作示例

with pd.ExcelWriter(self.filename, engine="xlsxwriter") as writer:
        self.df_holders.to_excel(writer, sheet_name='test')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM