-1

我使用 openpyxl 有两个问题

  1. 电子表格中的行数是 1048498。迭代占用了内存,所以我设置了一个逻辑来检查前五个空列并从中中断

  2. 逻辑 1 对我有用,代码不会无限期地遍历电子表格的空白单元格。读完这个只读文件后,我正在使用 P4Python 删除它。但是,openpyxl 仍在使用该文件,除了 save 之外没有其他方法可以关闭内部使用的存档。由于我的文件处于只读模式,我无法保存文件。当 P4 尝试删除此文件时,我收到此错误 - “该进程无法访问该文件,因为它正被另一个进程使用。”

帮助表示赞赏:)

4

2 回答 2

0

如果您以只读模式打开文件,则它不会占用内存。单元格仅在读取时创建。内存使用已经过大文件测试,但如果您认为这是一个错误,请提交带有示例文件的错误报告。

于 2015-06-27T11:27:01.127 回答
0

这看起来像是 openpyxl 的现有问题或预期行为。如果您有一个只读文件(P4Python 同步操作 - p4.run_sync(file_path_to_sync))并且如果您正在使用 openpyxl 读取它,那么您将无法删除该文件(P4Python p4.run_sync(file_path_to_sync + '#0')- 从工作区中删除),直到您保存不可能(或打算)的文件在我的情况下)因为它是一个只读文件。

于 2015-07-22T23:05:53.667 回答