2016-07-14 18 views
-1

Ich versuche, Daten aus einer JSON-Datei mit Python zu sammeln. Ich konnte auf mehrere Textblöcke zugreifen, aber wenn ich auf das dritte Objekt in der JSON-Datei stoße, erhalte ich einen Schlüsselfehler. Die ersten drei Zeilen funktionieren gut, aber die letzte Zeile gibt mir einen Schlüsselfehler.Python JSON-Wörterbuch Schlüsselfehler

response = urllib.urlopen("http://asn.desire2learn.com/resources/D2740436.json") 
data = json.loads(response.read()) 

title = data["http://asn.desire2learn.com/resources/D2740436"]["http://purl.org/dc/elements/1.1/title"][0]["value"] 

description = data["http://asn.desire2learn.com/resources/D2740436"]["http://purl.org/dc/terms/description"][0]["value"] 

topics = data["http://asn.desire2learn.com/resources/D2740436"]["http://purl.org/gem/qualifiers/hasChild"] 

topicDesc = data["http://asn.desire2learn.com/resources/S2743916"] 

Hier ist die JSON-Datei, die ich verwende. http://s3.amazonaws.com/asnstaticd2l/data/rdf/D2742493.json Ich ging durch alle Klammern und kann nicht herausfinden, warum ich diesen Fehler bekomme. Wer weiß, warum ich das bekomme?

+2

Ähm ... Die Datei, mit der Sie verknüpft haben, ist nicht die Datei, auf die Sie im Code verwiesen haben. –

Antwort

0
topics = data["http://asn.desire2learn.com/resources/D2740436"]["http://purl.org/gem/qualifiers/hasChild"] 

Ich sehe diesen Schlüssel "http://asn.desire2learn.com/resources/D2740436" nirgendwo in Ihrer Quelldatei. Sie enthalten nicht Ihren Stack, aber mein erster Gedanke wäre in einem schlechten Schlüssel Typo werden, was und Sie einen Fehler bekommen wie:

KeyError: "http://asn.desire2learn.com/resources/D2740436" 

Welche diesen Wert bedeutet nicht in den Daten existieren Sie verweisen

0

Der Link in Ihrem Code und Ihr AWS-Link führen zu sehr unterschiedlichen Dateien. Öffnen Sie the link in your code in einem Webbrowser, und Sie werden feststellen, dass es viel kürzer als die Datei in AWS ist. Es enthält nicht den Schlüssel, nach dem Sie suchen.

+0

Oh mein Gott das war so nooby. Die Website, von der ich diese Dateien bekam, war total durcheinander und es gab 3 verschiedene Dateien für alles. Ich habe das Problem behoben, vielen Dank. –

0

Sie sagen, dass Sie die verknüpfte Datei verwenden, in der der Schlüssel "http://asn.desire2learn.com/resources/S2743916" einmal auftaucht.

Ihr Code lädt jedoch eine andere Datei herunter - eine Datei, in der der Schlüssel nicht angezeigt wird.

Verwenden Sie die Datei, die Sie in Ihrem Code verknüpft haben, und Sie sollten sehen, dass der Schlüssel funktioniert.

Verwandte Themen