[英]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.