我读过这个答案:
Pandas / xlsxwriter writer.close() does not completely close the excel file
但是这个解决方案对我不起作用,因为解决这个问题的方法是不使用ExcelWriter,因为他们只在文件中写入一张纸。他们也使用xlsxwriter作为他们的引擎,而我使用的是openpyxl(如果这有区别的话)
我有一个对象,它使用一个Excel Writer对象将一系列工作表写入xlsx文件
import pandas as pd
with pd.ExcelWriter("file.xlsx",mode='w') as stream:
for sheet, dataframe in dataframe_dictionary.items():
dataframe.to_excel(stream, sheet_name=sheet)
other_dataframe.to_excel(stream, sheet_name='other')
问题是,有时,如果在上下文管理器中引发异常,pandas不会正确关闭文件。因此,当我尝试删除它时(在python脚本完成运行后,在我的python脚本之外),我会收到一条错误消息
"The action can't be completed because the file is open in Python"
这是熊猫身上的虫子还是我做错了什么?除了块,上下文管理器是否需要放在try中?我认为上下文管理器的全部目的是为您进行清理?有没有办法检查文件是否仍处于打开状态,如果文件仍处于打开状态,则将其关闭?我正在Jupyter笔记本中运行脚本
目前没有回答
相关问题 更多 >
编程相关推荐