Python遍历字典以规范化json



从API调用中,我返回一个字典,如下所示:

{'detectedLanguage': {'language': 'en', 'score': 1.0},'translations': [{'text': 'ハローワールド。これは楽しいです', 'to': 'ja'}, {'text': '世界您好。这很有趣', 'to': 'zh-Hans'}, {'text': '전 세계 여러분 안녕하세요. 이것은 재미', 'to': 'ko'}]}

我知道我可以这样循环:

for i in response[0]['translations']:
print(i)

返回三个字典:

{'text': 'ハローワールド。これは楽しいです', 'to': 'ja'}
{'text': '世界您好。这很有趣', 'to': 'zh-Hans'}
{'text': '전 세계 여러분 안녕하세요. 이것은 재미', 'to': 'ko'}

但是,我不确定如何将它们放入数据框架中。是否有使用json.normalize的解决方案?

字典列表的长度会有所不同,但我想做的是遍历'translations'键来创建一个数据帧,如下所示:

Language     Text
ja           'ハローワールド。これは楽しいです'
zh-Hans      '世界您好。这很有趣'
ko           '전 세계 여러분 안녕하세요. 이것은 재미'

Language = 'to' and Text = ' Text '

尝试:

>>> pd.DataFrame(response["translations"])[["to", "text"]].rename(columns={"to": "Language", "text": "Text"})
Language                    Text
0       ja        ハローワールド。これは楽しいです
1  zh-Hans               世界您好。这很有趣
2       ko  전 세계 여러분 안녕하세요. 이것은 재미

最新更新