日期序列号和日期需要以日期格式转换



当我在数据框中阅读谷歌电子表格时,以以下格式获取数据

42836
42837
42838
42844
42845
42846
42849
42850
42851
2/1/2018
2/2/2018

但是我需要全部转换为日期格式

IIUC 根据我的经验设置origin日期并使用np.whereExcel 中的起源是 1899 年 12 月 30 日。

s1=pd.to_datetime(pd.to_numeric(df.date,errors='coerce'),errors='coerce',origin='1899-12-30',unit='D')
s2=pd.to_datetime(df.date,errors='coerce')
df['new']=np.where(df.date.str.contains('/'),s2,s1)
df
Out[282]: 
date        new
0     42837 2017-04-12
1     42838 2017-04-13
2     42844 2017-04-19
3     42845 2017-04-20
4     42846 2017-04-21
5     42849 2017-04-24
6     42850 2017-04-25
7     42851 2017-04-26
8  2/1/2018 2018-02-01
9  2/2/2018 2018-02-02

将日期时间与时间增量一起使用。 基准年为 1.1.1900,然后将天数添加为时间增量。 for 循环仅显示前三个日期。 如果您需要不同的格式,请使用 strftime("%Y-%m-%d %H:%M:%S", gmtime(((

import datetime as dt
date = dt.datetime(1900,1,1)
dates = [42836, 42837, 42838]
for aDay in dates:<br>
print(date+dt.timedelta(days=aDay))

最新更新