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