如何查找excel单元格是否是date

如果我做:

print sh.cell(1,col) 

我得到:

 text:u'' text:u'' text:u'eng' text:u'' xldate:41450.0 number:11.0 number:30.0 text:u'Reality TV' 

但是,如果我这样做: print type(sh.cell(1,col)) ,我得到:

 <class 'xlrd.sheet.Cell'> 

对全部。

我将如何从xlrd获得“文本”或“xldate”或“数字” – 即单元格types?

您需要Cell对象的ctype属性。 例如:

 sh.cell(1,col).ctype 

这是一个表示单元格types的整数。 你想比较xlrd.XL_CELL_DATE ; 见这里的文档 。

我做了这个黑客方式:

 if str(sh.cell(1,col)).split(':')[0] == 'xldate':