Openpyxl细胞价值未来

时间:2012-10-05 17:15:38

标签: python openpyxl

我来自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()也给出了预期的回复。关于什么可能出错的任何建议。

1 个答案:

答案 0 :(得分:0)

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

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

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