Ich versuche, eine JSON-Datei zu übergeben und die Daten in ein Wörterbuch zu konvertieren.
Bisher habe ich Folgendes getan:
import json
json1_file = open('json1')
json1_str = json1_file.read()
json1_data = json.loads(json1_str)
Ich erwarte json1_data
, ein dict
Typ zu sein, aber er kommt tatsächlich als list
Typ heraus, wenn ich ihn überprüfe type(json1_data)
.
Was vermisse ich? Ich brauche dies als Wörterbuch, damit ich auf einen der Schlüssel zugreifen kann.
python
json
list
python-3.x
dictionary
lawchit
quelle
quelle
json1_data[0]['datapoints']
.Antworten:
Ihr JSON ist ein Array mit einem einzelnen Objekt. Wenn Sie es einlesen, erhalten Sie eine Liste mit einem Wörterbuch. Sie können auf Ihr Wörterbuch zugreifen, indem Sie auf Element 0 in der Liste zugreifen, wie unten gezeigt:
Jetzt können Sie wie erwartet auf die in Datenpunkten gespeicherten Daten zugreifen :
datapoints[0:5][0]
tut nicht was du erwartest.datapoints[0:5]
Gibt ein neues Listen-Slice zurück, das nur die ersten 5 Elemente enthält. Wenn Sie[0]
am Ende hinzufügen , wird nur das erste Element aus dem resultierenden Listen-Slice entnommen . Was Sie verwenden müssen, um das gewünschte Ergebnis zu erzielen, ist ein Listenverständnis :Hier ist eine einfache Methode zur Berechnung des Mittelwerts:
Wenn Sie bereit sind, NumPy zu installieren , ist es noch einfacher:
Die Verwendung des
,
Operators mit der Slicing-Syntax für NumPy-Arrays hat das Verhalten, das Sie ursprünglich mit den Listen-Slices erwartet hatten.quelle
Hier ist ein einfacher Ausschnitt, der eine
json
Textdatei aus einem Wörterbuch liest . Beachten Sie, dass Ihre JSON-Datei dem JSON-Standard entsprechen muss, sodass sie"
doppelte Anführungszeichen und keine'
einfachen Anführungszeichen enthalten muss.Ihre JSON dump.txt-Datei:
Python-Skript:
quelle
Sie können Folgendes verwenden:
quelle
Der beste Weg, um JSON-Daten in das Wörterbuch zu laden, ist, den eingebauten json-Loader zu verwenden.
Unten finden Sie das Beispiel-Snippet, das verwendet werden kann.
quelle
with()
Operator verwenden, anstatt die Datei öffnen und schließen zu müssen. Von der Site:with open("welcome.txt") as file:
Siehe: pythonforbeginners.com/files/with-statement-in-pythonIch arbeite mit einem Python-Code für eine REST-API, daher ist dies für diejenigen, die an ähnlichen Projekten arbeiten.
Ich extrahiere Daten aus einer URL mithilfe einer POST-Anforderung und die Rohausgabe ist JSON. Aus irgendeinem Grund ist die Ausgabe bereits ein Wörterbuch, keine Liste, und ich kann sofort auf die verschachtelten Wörterbuchschlüssel verweisen, wie folgt:
Dabei befindet sich datapoint_1 im Datenpunktwörterbuch.
quelle
Übergeben Sie die Daten mit Javascript Ajax von get-Methoden
Django Ansichten
quelle