xlrd和xlwt是否兼容?

时间:2012-09-23 11:33:42

标签: python excel xlrd xlwt

我正在尝试用python创建一个工作簿,我需要测试不同单元格的值来填充它但我遇到了一些麻烦。 我使用xlrd and xlwt来创建和编辑excel文件。

我做了一个我的问题的例子,我不明白为什么它不起作用。

import xlwt
import xlrd
wb = xlwt.Workbook()
ws = wb.add_sheet('Test')
ws.write(0,0,"ah")
cell = ws.cell(0,0) # AttributeError: 'Worksheet' object has no attribute 'cell'
print cell.value

我理所当然地认为xlrdxlwt共享了可以相互交互的类,但似乎并非如此。如何获取打开的Worksheet对象的单元格值?

1 个答案:

答案 0 :(得分:2)

根据我的理解,xlwt和xlrd模块是分开的,用于将整本书读入内存,或者将日期从内存写入文件。如果你想使用这两个模块,我相信你必须做类似的事情:

1)将现有的整个文件读入内存。 (xlrd) 2)在内存中编辑工作簿 3)写出工作簿。 (xlwt)

换句话说,他们不能互换。虽然是这样的工作是一个名为'openpyxl'的不同模块,但是这个模块可以让你创建对象并在运行时以你试图上面的方式操作它们。

链接:http://packages.python.org/openpyxl/