如何在Python中及时删除T和Z

时间:2018-07-22 04:29:54

标签: python python-3.x

我正在尝试删除数据中的T000Z

2018-03-20T19:48:12.000Z

2018-07-20T14:33:09.000Z

2018-07-20T14:33:55.000Z

我想要一个像这样的时间戳:

2018-03-20 19:48:12

2018-07-20 14:33:09

2018-07-20 14:33:55

我尝试使用以下格式设置时间格式:注意:(OPENEDDATETIME)是列名。

pd.to_datetime(df['OPENEDDATETIME'], format='%m/%d/%Y')

...但是我一直收到此错误:

ValueError: time data '2018-03-20T19:48:12.000Z' does not match format '%m/%d/%Y' (match)

2 个答案:

答案 0 :(得分:0)

您的日期时间格式为%Y-%m-%dT%H:%M:%S.%fZ

例如:

import pandas as pd

df = pd.DataFrame({"d": ['2018-03-20T19:48:12.000Z', '2018-07-20T14:33:09.000Z', '2018-07-20T14:33:55.000Z']})
df["d"] = pd.to_datetime(df["d"], format="%Y-%m-%dT%H:%M:%S.%fZ")
print(df)

输出:

                    d
0 2018-03-20 19:48:12
1 2018-07-20 14:33:09
2 2018-07-20 14:33:55

MoreInfo

答案 1 :(得分:0)

如果只想从字符串中删除T.000Z而不将其解析为实际的datetime对象,则可以使用字符串替换来实现:

>>> date = "2018-03-20T19:48:12.000Z"
>>> date.replace("T", " ").replace(".000Z", "")
'2018-03-20 19:48:12'