今天刚开始学习使用Python做表
写完代码后发现了一个问题:
使用xlrd读取EXCEL显示的日期并不是DATE而是FLOAT类型
(我想要的是日期!你给个FLOAT啥意思么,然后开始百度原因)
以下为大佬原话
原来:python是从公元1年1月1日开始的天数转换 的!
excel是从1899年12月 31号开始的。
此知识出自:https://my.oschina.net/farces/blog/1605573
我学Python不为别的就图省事
于是找了个最快最方便的方法
那就是用库里免费送的方法tuple!
def MyDateFormate(date):
# print(date)---用于调试
TupleA = xldate_as_tuple(int(date), 0)
# print(TupleA)---用于调试
ExcelDateTime = datetime.datetime(*TupleA)
# print(ExcelDateTime)---用于调试
return ExcelDateTime
完整代码示例:
import datetime
import xlrd
# 打开工作簿
from xlrd import xldate_as_tuple
xlsx = x