【发布时间】:2022-01-12 23:03:04
【问题描述】:
我需要将此json文件转换为python中的数据框:
print(resp2)
{
"totalCount": 1,
"nextPageKey": null,
"result": [
{
"metricId": "builtin:tech.generic.cpu.usage",
"data": [
{
"dimensions": [
"process_345678"
],
"dimensionMap": {
"dt.entity.process_group_instance": "process_345678"
},
"timestamps": [
1642021200000,
1642024800000,
1642028400000
],
"values": [
10,
15,
12
]
}
]
}
]
}
输出需要是这样的:
metricId dimensions timestamps values
builtin:tech.generic.cpu.usage process_345678 1642021200000 10
builtin:tech.generic.cpu.usage process_345678 1642024800000 15
builtin:tech.generic.cpu.usage process_345678 1642028400000 12
我试过这个:
print(pd.json_normalize(resp2, "data"))
我得到了无效的语法,有什么想法吗?
【问题讨论】:
-
create DataFrame from data_list的语法无效...是代码的一部分吗? -
除此之外,在这里查看一些示例pandas.pydata.org/pandas-docs/stable/reference/api/…
-
@OneCricketeer,我试过 pandas 规范化函数,但不起作用
-
你没有回答我的第一个问题,而且,
resp2包括totalCount和dimensionMap,它们不在你的预期输出中,所以显然这是错误的......你在过去的 6 个月中,我们就如何解析 JSON 提出了 3 个类似的问题,那么为了在数据中获取结果列表,然后删除dimensionMap,您学到了什么?换句话说,您需要先解析数据到一个新列表中,然后才能创建所需的数据框 -
@OneCricketeer,我不熟悉这些东西。而且所有的例子都和这个json文件不相似。