у меня ниже json, который я получаю от внешнего веб-сервиса:
text="""
[{
"id":"1",
"name" : "abc",
"address":{
"flat":"123",
"city":"paris",
"street":null
},
"error":null
}]
Теперь я хочу создать фрейм данных из этого json.Когда я пробую ниже:
from pandas.io.json import json_normalize
import json
import pandas as pd
resp_json = json.loads(text)
response = json_normalize(resp_json)
Но это дает мне ошибку ниже:
Error at response = json_normalize(resp_json)
KeyError : 'street'
Я считаю, что его атрибут улицы имеет значение как ноль, поэтому он и являетсябросая эту ошибку.Как это можно решить?
Если я делаю, как показано ниже, я могу решить, но в идеале это не правильное решение
text = text.replace('"street":null','"street":""')
ПРИМЕЧАНИЕ: - Когда яиспользуйте python verion 3.6.3 :: Anaconda Inc. и pandas версии 0.20.3 Я не вижу этой проблемы, и json_normalize может работать правильно.Это моя локальная установка машины.
На производственной машине у нас - Python - 3.5.1 и pandas 0.23.0.Там мы сталкиваемся с вышеуказанным вопросом.