python将数字转换为日期,python excel写入日期变数字
我的合作伙伴遇到了一个关于excel将数据导入python的问题,日期变成了数字而不是日期格式。第一反应是这个数字应该和excel中的时间戳差不多,我就实验把数字增加一天。最后,我证明了我的想法,这样我就可以从那一年开始在excel中倒计数日期。我们先看一下excel本身打开数据的样子:我们再看看python直接导入后日期的样子:
我们的目标是用标准日期格式替换字段名称的日期数据。具体想法是:
1.先用excel做实验。2018年11月02日对应的日期时间戳是43406。
2.我用2018-11-02减去43406,看看是不是从那一年开始算的,所以得出的结论是1899-12-30。
3.最后,时间戳1899-12-30是对应的当前日期。
这是被替换的列名以下代码是将excel时间戳转化成标准日期,并替换原有列名的具体步骤:。
import panda as PD import datetime data=PD . read _ excel(r xxxx . xlsx )col=list(data . columns)# Get列名print(col)col _ new=[]defdate(dates):#定义转换日期戳的函数,Dates是日期戳delta=datetime . time delta(days=Dates)Today=datetime . datetime . strptime( 1899-12-30 ,%Y-%m-%d) delta#将1899-12-30转换为可以%Y-%m-%d)#将范围内x的输出日期格式设为(len (col [2: 9]): #用col _ date=date(col[2:9][x])col _ new替换excel时间戳。 附加(列日期)列[2: 9]
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。