1

我来自 Matlab 环境,最近试图深入研究 python。从 excel 中读取是 Matlab 通过创建 COM excel 组件、派生工作簿、然后工作表和范围来完成的更重要的日常工作之一。很高兴看到从工作簿到工作表到单元格/范围的类似方法。

所以,

w = openpyxl.load_workbook('D:/ass.csv')
s = w.get_sheet_by_name('Sheet1')
c = s.cell('a2')

最后:c.value应该给我价值,并且c.value = 12应该分配价值。两者似乎都没有发生。但是,一旦我分配c.value = 12,然后进一步调用 c.value 给我 12,尽管基础 csv 没有发生任何变化。

当我尝试这样的事情时,s.get_highest_column()我得到了正确的预期答案。w.get_sheet_names()也给出了预期的响应。关于可能出了什么问题的任何建议。

4

1 回答 1

0

openpyxl仅适用于 Excel 2007 和更高版本的格式,文件通常具有扩展名.xlsx.xlsm.

如果您想阅读旧.csv格式,请使用CVS模块。

AFAIK 没有 Python 库可以同时打开.csv和更现代的.xlsresp。.xlsx文件。如果您想拥有这种灵活性,您也可以使用 Python 中的 COM 与 Excel 交互。我主要win32com.client用于那个,但你也可以使用comtypes.client

于 2013-03-18T17:36:20.523 回答