为 Athena 处理 pandas 中的日期时间格式

Manipulating datetime formats in pandas for Athena

由于 Pandas 和 Athena 读取日期时间格式的方式,我必须处理多个列才能以有效的格式获取数据。

其中涉及将字符串转换为日期时间

df["serviceStartTimestamp"] = pd.to_datetime(df["serviceStartTimestamp"])

returning

0   2019-08-07 08:04:43.942000+00:00
1   2019-08-07 08:13:48.397000+00:00
2   2019-08-07 09:02:29.067000+00:00

然后运行这个,

df["serviceStartTimestamp"] = pd.to_datetime(df["serviceStartTimestamp"].astype("str").str.split("+", expand=True)[0])

returning

0   2019-08-07 08:04:43.942
1   2019-08-07 08:13:48.397
2   2019-08-07 09:02:29.067

如果日期时间列包含任何其他数字,它们在 athena 中会被弄乱, 但是我目前的解决方法似乎效率低下,所以我想知道是否有更好的方法?

你需要通过format='%Y-%m-%d %H:%M:%S.%f'.

pd.to_datetime(df["serviceStartTimestamp"]).dt.strftime('%Y-%m-%d %H:%M:%S.%f')

输出:

0   2019-08-07 08:04:43.942
1   2019-08-07 08:13:48.397
2   2019-08-07 09:02:29.067