【发布时间】:2020-08-28 22:27:25
【问题描述】:
我有以下 JSON 对象并尝试将其转换为 DataFrame。
数据:
{
"data": {
"docs": [
{
"id": "1",
"col1": "foo",
"col2": "123",
"list": ["foo barr, fooo"]
},
{
"id": "2",
"col1": "abc",
"col2": "321",
"list": ["lirum epsum"]
},
{
"id": "3",
"col1": "foo",
"col2": "123",
"list": null
}
}
]
}
}
理想情况下,列表列应该包含 字符串 而不是列表,如下所示:
id col1 col2 list
1 foo 123 'foo barr, fooo'
2 abc 321 'lirum epsum'
3 foo 123 NaN
下面的方法是抛出异常(TypeError: 'NoneType' object is not iterable):
with open(path_to_json, encoding='utf-8') as json_file:
q= json.load(json_file)
df = json_normalize(q['data'], record_path=['docs', 'list'])
【问题讨论】:
-
你所谓的 JSON“对象”(实际上是一个字符串),有额外的
},字符。 -
问题是'list'列保存为数据类型列表,应该保存为String。