我正在尝试写入现有的 xls 文件,然后遍历同一文件的行,直到找到空白。
我了解如何通过代码做到这一点。
现在我的问题是,xlrd “更新”它是否引用了工作表?或者我是否必须在任何时候通过打开工作簿功能创建一个新的 xlrd 工作簿对象,然后通过 xlwt 的写入和保存功能保存到它(以读取新工作簿)?
xlrd 将在您调用该 open_workbook()
方法时将您的工作表文件加载到内存中。调用后对工作表文件所做的任何更改open_workbook()
都不会自动反映在内存中的对象中。
如果您查看 Github 上的 xlrd 源代码,特别是book.py 文件的 open_workbook() 方法,您会发现它在open_workbook()
调用该方法时会将工作表的内容加载到内存中。这意味着,如果您调用open_workbook()
,然后更改原始文件,内存中的工作簿将不会反映这些更改。
这也是为什么,当你使用 xlwt 模块时,你必须使用write()
方法 - 当你修改内存中的工作表的内容时,所做的更改不会反映在原始文件中,直到你调用write()
.