使用xlsxwriter将pandasdf写入excel文件?

我已经脚本编写pandasdf到excel文件与openpyxl。 请参阅将pd数据框填入现有的Excel表(使用openpyxl v2.3.2) 。

from openpyxl import load_workbook import pandas as pd import numpy as np book=load_workbook("excel_proc.xlsx") writer=pd.ExcelWriter("excel_proc.xlsx", engine="openpyxl") writer.book = book writer.sheets = dict((ws.title, ws) for ws in book.worksheets) data_df.to_excel(writer, sheet_name="example", startrow=100, startcol=5, index=False) writer.save() 

该过程正常工作。 但是,每个返回的excel文件在打开时报告它已损坏,因为内容不可读。 Excel可以修复它并再次保存。 但这必须手动完成。 由于我必须处理许多文件,我如何解决/规避?

或者,我该如何更改代码才能使用“xlsxwriter”而不是“openpyxyl”?

当我只是用“engine =”xlsxwriter“”“交换”engine =“openpyxl”“时,python告诉我”'Worksheet'对象在data_df.to_excel行没有'write'属性。

另外:Excel告诉我“删除logging名为范围/ xl / workbook.xml部分”是腐败,必须修复。 我不知道,这是什么意思

我想你将不得不使用openpyxl ,因为xlsxwriter不支持修改现有的Excel XLSX文件。

从文档 :

  • 无法读取或修改现有的Excel XLSX文件。