【发布时间】:2021-05-26 23:52:59
【问题描述】:
当我将数据导入 mongodb 时,我得到了这个:
_id:object("603678958a6eade21c0790b8")
id1:3758
date2:2010-01-01T00:00:00.000+00:00
time3:1900-01-01T00:05:00.000+00:00
date4 :2009-12-31T00:00:00.000+00:00
time5:1900-01-01T19:05:00.000+00:00
id6 :2
id7:-79.09
id8:35.97
id9:5.5
id10:0
id11:-99999
id12 :0
id13 :-9999
c14:"U"
id15:0
id16:99
id17:0
id18:-99
id19:-9999
id20:33
id21:0
id22:-99
id23:0
理想应该是这样的:
_id:object("603678958a6eade21c0790b8")
id1:3758
date2:2010-01-01
time3:00:05:00
date4 :2009-12-31
time5:19:05:00
id6 :2
id7:-79.09
id8:35.97
id9:5.5
id10:0
id11:-99999
id12 :0
id13 :-9999
c14:"U"
id15:0
id16:99
id17:0
id18:-99
id19:-9999
id20:33
id21:0
id22:-99
id23:0
我用来将列 date2,date4,time3,time5 转换为日期和时间的代码是这样的:
df['date4'] = df['date4'].astype('datetime64[ns]')
df['date2'] = df['date2'].astype('datetime64[ns]')
df['time3'] = df['time3'].apply(lambda x:datetime.datetime.strptime(x[0]+x[1]+":"+x[2]+x[3], '%H:%M'))
df['time5'] = df['time5'].apply( lambda x: datetime.datetime.strptime(x[0] + x[1] + ":" + x[2] + x[3], '%H:%M'))
我尝试了其他一些方法,例如 datetime.datetime,但似乎没有任何效果 有谁知道我该如何解决这个问题?
【问题讨论】:
-
我对 Mongo 的体验是,它们只有一种数据格式,并且是 ISO 标准。里面有日期+时间。我只有一个时间戳对象,其中有多个时间戳,您可以使用 datetime(year, month, day, hour, min sec) 为您想要的任何日期/小时创建该格式。
-
如果你想要触发器或类似的东西,你可以将它们作为字符串插入,而不是?
标签: python pandas mongodb datetime time