Перечисление вложенных значений json по соответствующим заголовкам: Python Pandas - PullRequest
0 голосов
/ 31 октября 2018

Я пытаюсь нормализовать вложенный ответ json с этого URL . Поскольку он достаточно вложенный, я не могу достичь следующего формата, кто-нибудь может мне помочь в правильном направлении?

Target Format

Я использую этот подход для нормализации:

from urllib.request import urlopen
import json
from pandas.io.json import json_normalize
import  pandas as pd
class jsonResp():

   def __init__(self):
       global data
       global data1
       global path
       pd.set_option('display.max_rows', 500)
       pd.set_option('display.max_columns', 500)
       pd.set_option('display.width', 1000)
       requestURL = ("http://data.corkcity.ie/api/3/action/datastore_search?id=6cc1028e-7388-4bc5-95b7-667a59aa76dc") #Request urls for json
       responseOpen = urlopen(requestURL)
       elevations = responseOpen.read() #Reads the response
       data = json.loads(elevations) #Loads the json file for normalization and parsing
       df = pd.DataFrame.from_dict(json_normalize(data), orient='columns')
       print(df)


if __name__ == '__main__':
   obj = jsonResp()

Спасибо

1 Ответ

0 голосов
/ 31 октября 2018

Начните с перехода к записям и затем используйте json_normalize():

import requests
json_data = requests.get("http://data.corkcity.ie/api/3/action/datastore_search?id=6cc1028e-7388-4bc5-95b7-667a59aa76dc").json()

from pandas.io.json import json_normalize

df = json_normalize(json_data["result"]["records"])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...