如何跳过嵌套JSON的编号层级转换为Pandas DataFrame?
解决方案
方法1:直接提取Conversion数据构造DataFrame
这是最简洁高效的方式,直接遍历data字典的所有值,取出每个值里的Conversion对象,再传入pd.DataFrame():
import pandas as pd input_json = { "data": { "1": {"Conversion": {"id": "1", "datetime": "2024-03-26 08:30:00"}}, "50": {"Conversion": {"id": "50", "datetime": "2024-03-27 09:00:00"}} } } # 提取所有Conversion对象 conversion_list = [item['Conversion'] for item in input_json['data'].values()] # 构造DataFrame df = pd.DataFrame(conversion_list)
执行后得到的DataFrame结果:
| id | datetime |
|---|---|
| 1 | 2024-03-26 08:30:00 |
| 50 | 2024-03-27 09:00:00 |
方法2:结合pd.json_normalize处理
如果你习惯用json_normalize,可以先把data的取值转成列表,再通过指定record_path参数直接定位到Conversion层:
df = pd.json_normalize(input_json['data'].values(), record_path='Conversion')
这个方法同样能得到目标结果,适合已经熟悉json_normalize用法的场景。
内容的提问来源于stack exchange,提问作者Sebastian
相关产品推荐
相关产品推荐

