python – 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

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

最佳答案 根据我的理解,xlwt和xlrd模块是分开的,用于将整本书读入内存,或将日期从内存写入文件.如果您正在寻找使用这两个模块,我相信您必须做以下事情:

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

换句话说,它们不能互换.虽然是这样的工作是一个名为’openpyxl’的不同模块,但是这个模块允许您在运行期间创建对象并以您尝试的方式操作它们.

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

点赞