使用xlsxwriter将pandas df写入excel文件?

时间:2016-11-16 13:18:28

标签: python excel pandas dataframe

我有使用openpyxl将pandas df写入excel文件的脚本代码。请参阅Fill in pd data frame into existing excel sheet (using 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告诉我”''工作表'对象在data_df.to_excel行没有属性'write'。

另外:Excel告诉我“已删除的记录名为/xl/workbook.xml部分的范围”是损坏并且必须修复。我不知道,这是什么意思

1 个答案:

答案 0 :(得分:2)

我认为您必须使用openpyxl,因为xlsxwriter不支持修改现有的Excel XLSX文件。

来自docs

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