Python/Panda - 如何读取 to_datetime() 中的时区信息?

Python/Panda - How reading timezone information in to_datetime()?

我正在解析包含大量行并包含我想要解析的日期的 csv 文件。

我先读取 csv 文件,然后我使用 pd.to_datetime() 将字符串转换为时间戳。

这是字符串的样子,以及我尝试使用的格式。

In [8]: ts_temp
Out[8]: 
0     Sun Dec 22 2019 07:40:00 GMT+0100
1     Sun Dec 22 2019 07:45:00 GMT+0100
2     Sun Dec 22 2019 07:50:00 GMT+0100

date_format = "%a %b %d %Y %H:%M:%S %Z"
index = pd.to_datetime(ts_temp, utc = True, format=date_format)

不幸的是,我收到了这条错误消息。

ValueError: unconverted data remains: 100

我可以确认使用 infer_datetime_format = True 是有效的,时区读数正确,但在我看来这确实需要时间。

我想看看是否可以通过直接指定格式来缩短 运行 时间。

感谢您的帮助,最好的!

您可以通过删除格式选项让 pandas 完成时间格式的繁重工作:

pd.to_datetime(tx_temp, utc=True)

输出:

0   2019-12-22 08:40:00+00:00
1   2019-12-22 08:45:00+00:00
2   2019-12-22 08:50:00+00:00
Name: 1, dtype: datetime64[ns, UTC]

好的,我终于知道了。正确的格式是: date_format = "%a %b %d %Y %H:%M:%S GMT%z"

使用它似乎比 'classical' infer 快 40%。