【发布时间】:2020-09-11 01:31:22
【问题描述】:
我在 Python 中使用 Pandas 解析一个 json 文件。有一个名为 DateTime 的字段,其中包含以下字符串:1581251737000。有人知道这个 DateTime 字段的格式,以便我可以使用 pandas.to_datetime() 函数对其进行解析吗?
【问题讨论】:
标签: python json pandas datetime parsing
我在 Python 中使用 Pandas 解析一个 json 文件。有一个名为 DateTime 的字段,其中包含以下字符串:1581251737000。有人知道这个 DateTime 字段的格式,以便我可以使用 pandas.to_datetime() 函数对其进行解析吗?
【问题讨论】:
标签: python json pandas datetime parsing
这称为epoch timestamp,以毫秒格式表示,您可以删除尾随的零并将其转换为可读的日期时间,如下所示:
time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(1581251737))
【讨论】:
在使用 pandas 时,您可以定义自定义格式来辅助 pd.to_datetime 函数,如下所示:
pd.to_datetime('13000101', format='%Y%m%d', errors='ignore')
在您的情况下,您首先必须通过将单位参数提供为ms 来将此时间戳转换为日期时间戳,我猜您的情况是这样。
我建议您定义自己的格式以避免任何尾随零
默认情况下,pandas 使用YYYY MM DD HH MM SS MSMSMS
查看文档here
【讨论】:
最快的方法是使用 pandas:
import pandas as pd
from datetime import datetime
x = "1581251737000"
pd.to_datetime(x, unit="ms")
#Output
Timestamp('2020-02-09 12:35:37')
您可以使用 strftime 将其转换为您想要的格式:
pd.to_datetime(x, unit="ms").strftime("%Y/%m/%d")
#Output
'2020/02/09'
【讨论】: