Mon*_*nta 2 python xml excel dataframe pandas
我正在读取多个 xml 文件,提取一些数据,然后用我的数据形成 pandas Dataframe。这些是我所做的主要步骤:
对我拥有的所有 xml 文件重复我的步骤(15GB 初始数据,通常包含 100MB 有价值的文本数据)
这是我的 python 代码,用于在输出 excel 文件中附加数据框:
book = load_workbook('output.xlsx')
writer = pd.ExcelWriter('output.xlsx', engine='openpyxl')
writer.book = book
writer.sheets = {ws.title: ws for ws in book.worksheets}
startrow = writer.sheets['Sheet1'].max_row
output.to_excel(writer, startrow=startrow,index = False, header = False)
writer.save()
Run Code Online (Sandbox Code Playgroud)
当我在 Excel 中打开“output.xlsx”时,收到一条提示消息:“我们发现“output.xlsx”中的某些内容存在问题。您希望我们尽力恢复吗?” 是或否的答案
这是 excel 生成的日志文件:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<recoveryLog xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main">
<logFileName>error001280_01.xml</logFileName><summary>Errors were detected in
file 'D:\JUPYWORKDIR\2009Results\output.xlsx'</summary><repairedRecords>
<repairedRecord>Repaired Records: String properties from /xl/worksheets/sheet1.xml part
</repairedRecord></repairedRecords></recoveryLog>
Run Code Online (Sandbox Code Playgroud)
我担心将结果保存为 Excel 格式会损坏我的数据,我将来会用 pandas 读取“output.xlsx”以便进行一些数据分析,这个问题会影响我以后的分析吗?我想知道为什么会产生这个问题以及我应该将数据保存为 CSV 吗?有什么建议么?
诗。使用 python 代码检查“output.xlsx”的最后一行,当我在 pandas Dataframe 中导入 excel 文件时,行数相同,最后检查 Microsoft excel 的“恢复文件”的最后一行,我仍然发现相同的行行数,所以我认为这是 Microsoft Excel 由于数据量大而出现的一般错误,但我不确定
小智 11
我也遇到了同样的问题,并花了至少一个小时来搜索修复它,只有 1 个更改,它就得到了修复,而不是使用 writer.save(),而是尝试使用 writer.close() ,它应该可以解决问题。
修改上述代码:
options = {}
options['strings_to_formulas'] = False
options['strings_to_urls'] = False
book = load_workbook('output.xlsx')
writer = pd.ExcelWriter('output.xlsx', engine='openpyxl',options=options)
writer.book = book
writer.sheets = {ws.title: ws for ws in book.worksheets}
startrow = writer.sheets['Sheet1'].max_row
output.to_excel(writer, startrow=startrow,index = False, header = False)
writer.close()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4149 次 |
| 最近记录: |