我正在使用Python 3.6.3 。
我的脚本仍然存在问题,可以完全正常运行。
主要模块是 pandas 和 xslxwriter (带有 easygui (用于GUI)。
此脚本可以从一个主文件(Excel 2010)中生成数十个Excel文件(使用 xlsxwriter ),每个文件可以包含数百列数据(取决于主文件的参数)。
缩进,逻辑和结果都可以。
但是最后一个Excel文件未提交到磁盘,我必须重新启动Python才能获取它。
例如,如果一次运行产生100个文件,则磁盘上将只写入99个文件。最后一个已计算,但不可见。
如果未重新启动Python,则该文件将在下一次脚本运行开始时写入磁盘。
我发现可能是 flush 问题,并尝试了一些解决方案,但此问题仍然存在。
是否有一些技巧可以强制使用缓冲区?我不允许在专业计算机上修改环境变量。
感谢您的帮助和时间:)
答案 0 :(得分:0)
谢谢马克·托隆宁
您是对的:该文件未正确关闭,这是因为我出错了。
我的代码很难概括,我无法发布脚本的简历。
首先,关键字 continue (用于主循环)的缩进方式很糟糕,我将其替换在正确的位置。
但是在此关键字之前,我正在使用 workbook.close 关闭 xlsxwriter 文件(脚本中只有一个用于主循环)。
但是在运行时没有提到这是一个错误。
如上我的问题中所述,每个 xlsxwriter 文件都已提交到磁盘,除了最后一个。然后我查看了https://xlsxwriter.readthedocs.io/workbook.html上的文档,并发现关闭worbook时缺少括号。
通过添加缺少的括号进行更正: workbook.close (),现在一切都很好:)
我想分享这些信息,因为有些人可能遇到相同的问题。
非常感谢您 progmatico 获取有关 flush 属性的信息。
法国巴黎的问候:)