Pandas ExcelWriter Openpyxl 附加模式损坏 Excel 文件
使用 pandas excelwriter 附加模式(engine=openpyxl)会损坏我的 Excel 文件。
我已经通读了此问题的先前版本,并且可以确认在我的 pandas/openpyxl 版本中该文件
self.handles.handle.seek(0)
self.handles.handle.truncate()
位于文件中。这是我的代码,它将一些数据添加到现有的 Excel 工作表中:
file_name = 'AA Tracker.xlsx'
writer = pd.ExcelWriter(file_name,engine='openpyxl',if_sheet_exists='overlay', mode='a')
dfq.to_excel(writer,sheet_name=ticker,startrow=startrow , startcol=0)
writer.save()
writer.close()
虽然这会产生所需的结果,但 Excel 文件会损坏:
该文件无法在 Excel 365 中打开,但不知何故在 Excel 中2016年我可以修复文件并看到结果是我所期望的。奇怪的是,当我修复后保存此文件时,它提示我保存旧文件而不是简单保存,不确定这是否是一个线索......
无论如何,这必须在 365 中工作,有什么想法吗?
我的包版本:
pandas 1.4.1
openpyxl 3.0.9
python 3.9.7
Using pandas excelwriter append mode (engine=openpyxl) corrupts my excel file.
I've read through prior versions of this issue, and can confirm that in my version of pandas/openpyxl
self.handles.handle.seek(0)
self.handles.handle.truncate()
is in the file. Here is my code, which adds some data to an existing excel sheet:
file_name = 'AA Tracker.xlsx'
writer = pd.ExcelWriter(file_name,engine='openpyxl',if_sheet_exists='overlay', mode='a')
dfq.to_excel(writer,sheet_name=ticker,startrow=startrow , startcol=0)
writer.save()
writer.close()
While this produces the desired result, the excel file gets corrupted:
The file is not able to be opened in Excel 365, but somehow in Excel 2016 I can repair the file and see that the result is what I expect. Oddly when I save this file after repair, it prompts me to save over the old file instead of simply saving, not sure if that's a clue...
In any case, this must work in 365, any ideas?
My package versions:
pandas 1.4.1
openpyxl 3.0.9
python 3.9.7
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论