【问题标题】:Reading Nested Json into Pandas error将嵌套的 Json 读入 Pandas 错误
【发布时间】:2018-11-26 08:35:34
【问题描述】:

我无法将这个特定的 Json 文件作为 Pandas 数据框正确读取。我对其他 JSON 示例使用了类似的代码 - 效果很好,但是我需要一些帮助来理解这里可能出现的问题。

嵌套的“特征”无法直接读取并引发错误。实际的表格如下所示:

Table Sample

import json 
import pandas as pd 
from pandas.io.json import json_normalize

with open("./assessment/0144209a-32ee-4114-bc69-9912dd3dde5c.json") as f:
    d = json.load(f)

df = json_normalize(d['results'])
df.head(10)

works_data = json_normalize(data=data['results'], record_path='traits')
works_data.head()

----------------------------------- ---------------------------- KeyError Traceback(最近一次调用 最后)在() ----> 1 works_data = json_normalize(data=data['results'], record_path='traits') 2works_data.head()

C:\ProgramData\Anaconda3\lib\site-packages\pandas\io\json\normalize.py 在 json_normalize(数据,record_path,meta,meta_prefix,record_prefix, 错误,九月) 257 记录。扩展(记录) 258 --> 259 _recursive_extract(数据,记录路径,{},级别=0) 260 261 结果 = 数据帧(记录)

C:\ProgramData\Anaconda3\lib\site-packages\pandas\io\json\normalize.py 在 _recursive_extract(数据,路径,seen_meta,级别) 233 其他: 234 用于数据中的 obj: --> 235 recs = _pull_field(obj, path[0]) 236 237 # 用于稍后重复元数据

C:\ProgramData\Anaconda3\lib\site-packages\pandas\io\json\normalize.py 在_pull_field(js,规范) 180 结果 = 结果[字段] 181 其他: --> 182 结果 = 结果[规格] 183 184返回结果

KeyError: '特征'

【问题讨论】:

标签: python json pandas


【解决方案1】:

看起来变量名中有一个小的语法错误。您在第 11 行包含 data 而不是 d。 切换以下:

data=data['results']

到这里:

data=d['results']

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-07
    • 2020-03-12
    • 2021-02-02
    • 2020-07-29
    • 2019-05-24
    • 2020-07-11
    • 2018-08-14
    • 2019-10-31
    相关资源
    最近更新 更多