【发布时间】:2017-12-04 17:25:12
【问题描述】:
我有一个带有不幸命名为“时间戳”字段的 JSON 数据文件。时间戳格式为 "%y%m%d%H%M%S",但 pandas.json_read() 将其解释为 UNIX 纪元时间戳,因此该字段被解释为 1975 年的某个时间。
有没有办法覆盖 read_json 行为以提供格式说明符 - 类似于 pandas.to_json(...,date_format="...")) 所做的?
import StringIO
import pandas as pd
my_json_data='''[
{
"itemId": "alpha:136:1",
"testTime": 12.449,
"workTime": 152.5,
"project": "alpha",
"user": "user100021-su7d",
"timestamp": "170520161430",
"accuracy": 1
},
{
"itemId": "alpha:136:10",
"testTime": 4.114,
"workTime": 152.5,
"project": "alpha",
"user": "user100021-su7d",
"timestamp": "170520161430",
"accuracy": 0.8890000000000001
},
{
"itemId": "alpha:136:100",
"testTime": 5.114,
"workTime": 43.4,
"project": "alpha",
"user": "user100021-su7d",
"timestamp": "170522150338",
"accuracy": 0.875
}
]
'''
my_df = pd.read_json(StringIO.StringIO(my_json_data))
my_df["timestamp"]
输出是:
0 1975-05-28 14:42:41.430
1 1975-05-28 14:42:41.430
2 1975-05-28 15:15:50.338
Name: timestamp, dtype: datetime64[ns]
【问题讨论】:
标签: python json pandas timestamp