【发布时间】:2017-10-18 10:49:18
【问题描述】:
我有这个示例 JSON
{
"name":"John",
"age":30,
"cars": [
{ "name":"Ford", "models":[ "Fiesta", "Focus", "Mustang" ] },
{ "name":"BMW", "models":[ "320", "X3", "X5" ] },
{ "name":"Fiat", "models":[ "500", "Panda" ] }
]
}
当我需要将 JSON 转换为 pandas DataFrame 时,我使用以下代码
import json
from pandas.io.json import json_normalize
from pprint import pprint
with open('example.json', encoding="utf8") as data_file:
data = json.load(data_file)
normalized = json_normalize(data['cars'])
此代码运行良好,但在一些空车(空值)的情况下,我无法规范化 json。
json 示例
{
"name":"John",
"age":30,
"cars": [
{ "name":"Ford", "models":[ "Fiesta", "Focus", "Mustang" ] },
null,
{ "name":"Fiat", "models":[ "500", "Panda" ] }
]
}
抛出的错误
AttributeError: 'NoneType' object has no attribute 'keys'
我试图忽略 json_normalize 中的错误,但没有帮助
normalized = json_normalize(data['cars'], errors='ignore')
我应该如何处理 JSON 中的空值?
【问题讨论】: