excel用xlrd日期变成42631.0
datetime的解决办法 混合数据的表中有个日期:2016/9/18 通过table.row_values(row_number)[1]读取时,显示的结果为:42631.0 查看row_values方法的源码: def row_values(self, rowx, start_colx=0, end_colx=None): if end_colx is None: return self._cell_values[rowx][start_colx:] return self._cell_values[rowx][start_colx:end_colx] 1 2 3 4 也就是说返回了self._cell_values,self._cell_values在源码中的定义为:self._cell_values = [],这就是问题的根源 第一种解决办法: xldate.xldate_as_datetime把日期转换回来 xldate.xldate_as_datetime(table.row_values(row_number)[1], 0) 1 2 第二种解决办法: 先用xldate.xldate_as_tuple(table.row_values(row_number)[1],0) 显示结果为:(2016, 9, 27, 0, 0, 0) xldate_as_tuple源码部分: #