2017-06-02 3 views
0

ich unter json, die ich von einer URL haben:Json in Datenrahmen Pandas

{ 
    "abc": 
     { 
     "123":[45600,null,3567], 
     "378":[78689,2345,5678], 
     "343":[23456,null,null] 
     } 
} 

es in json_obj Objekt gespeichert ist:

json_obj = response.json() 

ich diesen json in Datenrahmen zu konvertieren, Mein Code sollte wie folgt sein:

df = pd.read_json (Antwort, orient = 'Spalten')

so, dass Ergebnis sein sollte:

  abc 
123  [45600,null,3567] 
378  [78689,2345,5678] 
343  [23456,null,null] 

aber mit obigem Code I Fehler:

date_unit).parse() 
    self._parse_no_numpy() 
    loads(json, precise_float=self.precise_float), dtype=None) 
    TypeError: Expected String or Unicode 

Wenn ich Antwort mit url in dem obigen Code ersetzen. es wird gut funktionieren. Aber ich muss json_object anstelle von URL übergeben.

Bitte geben Sie Vorschläge.

Antwort

1
df = pd.read_json(response,orient='columns') 

read_json() übernimmt JSON-Daten. "Antwort", ich glaube, speichert die API-Antwort für einige Anfrage, die Sie machen.

response.json() würde Ihnen das Python-Wörterbuch des Körpers der Antwort geben. Sie müssen das in JSON konvertieren. Versuchen Sie dies:

import json 
df = pd.read_json(json.dumps(response.json()),orient='columns') 
Verwandte Themen