如何解析这种类型的日期时间数据

时间:2019-07-25 11:52:03

标签: python-3.x datetime data-science

我正在尝试将这些字符串对象转换为python datetime对象,但是字母T,Z造成了问题。

datetime.strptime(i,'%Y-%m-%d').date() for i in df['dateUpdated']

0    2014-02-01T04:41:06Z
1    2013-12-11T05:28:28Z
2    2015-11-19T22:20:29Z
3    2014-02-01T05:22:01Z
4    2016-05-19T14:31:26Z

ValueError: unconverted data remains: T04:41:06Z

2 个答案:

答案 0 :(得分:1)

假设您正在使用熊猫,请使用pd.to_datetime

import pandas as pd

df = pd.DataFrame({'dateUpdated': ['2014-02-01T04:41:06Z', '2013-12-11T05:28:28Z']})
df['dateUpdated'] = pd.to_datetime(df['dateUpdated'])

结果:

0   2014-02-01 04:41:06+00:00
1   2013-12-11 05:28:28+00:00
Name: dateUpdated, dtype: datetime64[ns, UTC]

如果您只想访问新列的日期部分,则可以使用:

df['dateUpdated'].dt.date

答案 1 :(得分:0)

尝试:

datetime.strptime(i,'%Y-%m-%dT%H-%M-%SZ').date() for i in df['dateUpdated']

或者,您可以从所有字符串中去除'T'和'Z'并使用更通用的格式:

datetime.strptime(i,'%Y-%m-%d %H-%M-%S').date() for i in df['dateUpdated']