Xlrd,xlwt和xlutils:它们如何协同工作

时间:2015-05-22 03:08:00

标签: python xlrd xlwt xlutils

我试图写入现有的xls文件,然后迭代同一个文件的行,直到找到空白。

我了解如何通过代码执行此操作。

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

1 个答案:

答案 0 :(得分:2)

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

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

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