1

我正在尝试写入现有的 xls 文件,然后遍历同一文件的行,直到找到空白。

我了解如何通过代码做到这一点。

现在我的问题是,xlrd “更新”它是否引用了工作表?或者我是否必须在任何时候通过打开工作簿功能创建一个新的 xlrd 工作簿对象,然后通过 xlwt 的写入和保存功能保存到它(以读取新工作簿)?

4

1 回答 1

2

xlrd 将在您调用该 open_workbook() 方法时将您的工作表文件加载到内存中。调用后对工作表文件所做的任何更改open_workbook()不会自动反映在内存中的对象中。

如果您查看 Github 上的 xlrd 源代码,特别是book.py 文件的 open_workbook() 方法,您会发现它在open_workbook()调用该方法时会将工作表的内容加载到内存中。这意味着,如果您调用open_workbook(),然后更改原始文件,内存中的工作簿将不会反映这些更改。

这也是为什么,当你使用 xlwt 模块时,你必须使用write()方法 - 当你修改内存中的工作表的内容时,所做的更改不会反映在原始文件中,直到你调用write().

于 2015-05-22T03:32:54.880 回答