如何访问 Python DataFrame 中的嵌套 JSON 对象 [重复]
Posted
技术标签:
【中文标题】如何访问 Python DataFrame 中的嵌套 JSON 对象 [重复]【英文标题】:How to access nested JSON object in Python DataFrame [duplicate] 【发布时间】:2019-09-15 11:53:34 【问题描述】:我有一个 JSON 响应,我将其转换为 Python 中的 DataFrame。
JSON 响应:
[
"id": 123456,
"first_name": "John",
"last_name": "Doe",
"fields": [
"title": "ABC",
"value": "123"
,
"title": "DEF",
"value": "456"
]
]
当我将此 JSON 解析为 DataFrame 时,这些列显示为 id、first_name
、last_name
和 fields
。其中fields
列包含两个嵌套的 JSON 对象:
["title": "ABC","value": "123","title": "DEF","value": "456"]
如何将fields
中的两个对象拆分为各自的列?
对于上下文,我正在尝试将 DataFrame 的结果打印到 csv 文件,其中fields
中的每个对象都有自己的列。
【问题讨论】:
【参考方案1】:IIUC 我正在使用json_normalize
from pandas.io.json import json_normalize
json_normalize(j, 'fields', ['id', 'first_name', 'last_name'])
Out[1281]:
title value last_name first_name id
0 ABC 123 Doe John 123456
1 DEF 456 Doe John 123456
数据输入
j=[
"id": 123456,
"first_name": "John",
"last_name": "Doe",
"fields": [
"title": "ABC",
"value": "123"
,
"title": "DEF",
"value": "456"
]
]
【讨论】:
谢谢 - 有什么办法可以在单行上输出吗?比如说,使用title
键作为列标题?
@Matt 我不确定你需要什么
这就是我想要实现的目标:ABC DEF last_name first_name id 0 123 456 Doe John 123456
不太清楚如何格式化评论。但基本上我试图将title
键作为列,例如,5 列是id
、first_name
、last_name
、ABC
、DEF
。以上是关于如何访问 Python DataFrame 中的嵌套 JSON 对象 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
使用 arrayFilters 更新 MongoDB 中的嵌套子文档
::slotted CSS 选择器用于 shadowDOM 插槽中的嵌套子级
如何在 Spark 中使用 Python 查找 DataFrame 中的分区数以及如何在 Spark 中使用 Python 在 DataFrame 中创建分区