2016-03-22 81 views
0

我有一个xlsx数据文件,我想知道单元格的类型。 我写了这个代码:openpyxl,如何读取单元格类型

from openpyxl import load_workbook 

wb = load_workbook('data.xlsx', data_only=True) 
list = wb['list'] 

val1 = list.cell(row=1, column=1).value 
val2 = list.cell(row=2, column=1).value 

print "val1", val1, type(val1) 
print "val2", val2, type(val2) 

但结果是:

val1 21:59:44 <type 'datetime.time'> 
val2 17:04:50 <type 'unicode'> 

什么是负载细胞类型的正确方法。

样本和数据文件的源是在这里:https://github.com/ombschervister/openpyxl_test

回答

1

作为每this bug report openpyxl被表现为预期:单元格A2包含一个字符串。

+0

好吧,当我打开程序“Excel”时,我看到时间格式。所以也许有办法得到这个信息,Excel在哪个方面决定了单元格的格式? – den

+0

'ws ['A2'],number_format'但你不能依赖这个。你可以用“玛丽有一只小羊羔”的格式。 openpyxl支持类型猜测,但我们强烈建议不要使用它。 –

+0

非常感谢 – den