Excel 读取日期单元格结果为数字的日期转换处理方法

不知道大家有没有遇到过,在使用读取 Excel 单元格时,如果单元格是日期格式的,那么打印出来后却不是日期,而是一串数字,如下图。 2018/3/5 经过读取打印后变为了 43164.0,这样就没法继续使用了。
Excel 读取日期单元格结果为数字的日期转换处理方法

因为 python 读取 excel 中单元格的内容返回的有 5 种类型,即上面例子中的 ctype 为 3:
ctype: 0 empty,1 string, 2 number, 3 date, 4 boolean, 5 error_

经过查阅资料研究,通过 xlrd 中的 xldate_as_tuple 方法可以将数字再转换为日期,代码如下:

#首先导入两个包
from datetime import datetime
from xlrd import xldate_as_tuple

#date为变量,通过读取单元格获取的日期数据变量
#date_new变量用于存储转换后的数据

#打印原来的值 
print(date)   
#使用xldate_as_tuple方法转换,并将转换后的值变为string类型
date_new =str(datetime(*xldate_as_tuple(date,0)))     
#打印转换后的值
print(date_new)
#取日期部分
date_new = date_new[0:10]
#打印最终效果
print(date_new)

结果如下图:
Excel 读取日期单元格结果为数字的日期转换处理方法