json_normalize在尝试提取某些属性时会产生一个KeyError错误。

19 浏览
0 Comments

json_normalize在尝试提取某些属性时会产生一个KeyError错误。

这是我的json文件的一个子集:

d = {'data': {'questions': [{'id': 6574,
                             'text': '问题1',
                             'instructionalText': '',
                             'minimumResponses': 0,
                             'maximumResponses': None,
                             'sortOrder': 1,
                             'answers': [{'id': 362949, 'text': '答案1', 'parentId': None},
                                         {'id': 362950, 'text': '答案2', 'parentId': None},
                                         {'id': 362951, 'text': '答案3', 'parentId': None},
                                         {'id': 362952, 'text': '答案4', 'parentId': None}]}]}}

我想将其放入一个数据框中,每个问题一行,每个答案一行。

Python代码:

from pandas import json_normalize
import json
fields = ['text','answers.text']
with open(R'response.json') as f:
    d = json.load(f)
data = json_normalize(d['data'],['questions'],errors='ignore')
data = data[fields]
print(data)

但是会产生一个KeyError:

KeyError: "['answers.text'] not in index"

我已经花了几个小时了,但是还是无法解决。感觉应该很简单,但实际上并不是。

0