Dict aus Json-Datei importieren und damit arbeiten

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
paupau90
User
Beiträge: 26
Registriert: Sonntag 4. Mai 2014, 16:32

Hallo,

ich habe eine Json-Datei und importiere das dort gespeicherte Dict. Jetzt habe ich eine grundsätzliche frage zum Zigriff auf die Werte im Dict.
Wie greife ich dann auf die einzelnen Werte zu, also z.B. Wenn ich die Koordinaten von Stadt "abc" haben will? Ich meine mich zu erinnern dass es irgendwie Ähnlichkeiten mit Objekten gibt. Stimmt das?
Es sieht so aus:

Code: Alles auswählen

{
    "Name der Stadt": {
        "Koordinaten": {
            "Breite": " 50N47",
            "Länge": "06E05"
        },
        "Nachbarn": {
            "Nachbarstadt_1": 16.8,
            "Nachbarstadt_2": 32.4,
            ...
        }
    },
    ...
}
BlackJack

@paupau90: In der Dokumentation zum JSON-Modul steht auf was für Python-Objekte die jeweiligen JSON-Werte abgebildet werden. Eigentlich ist das aber auch ziemlich naheliegend. Probier doch einfach mal interaktiv aus was Du bekommst wenn Du die JSON-Datei mit `json.load()` lädtst. Oder `json.loads()` falls das JSON als Zeichenkette vorliegt.
paupau90
User
Beiträge: 26
Registriert: Sonntag 4. Mai 2014, 16:32

Das importieren hab ich nicht gemeint :-). Ich wollte wissen, wie man auf die einzelnen werte aus dem Dict zugreift.
Benutzeravatar
darktrym
User
Beiträge: 784
Registriert: Freitag 24. April 2009, 09:26

Du willst wissen wie man auf Werte aus einem Dictionary zugreift, im Ernst?
„gcc finds bugs in Linux, NetBSD finds bugs in gcc.“[Michael Dexter, Systems 2008]
Bitbucket, Github
paupau90
User
Beiträge: 26
Registriert: Sonntag 4. Mai 2014, 16:32

Ja nur Beispiele oder die entsprechende Stelle im Wiki :-D
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Klarer Fall fuer https://docs.python.org/2/tutorial/

Und nein, die Stelle nenne ich dir nicht: Das solltest du ganz lesen.
paupau90
User
Beiträge: 26
Registriert: Sonntag 4. Mai 2014, 16:32

Guten Abend,

wie bekomme ich die Koordinaten einer Stadt?
Ich verstehe das irgendwie nicht weil mein Fall so verschachtelt ist :-(
BlackJack

@paupau90: Dann probiere das interaktiv in einer Python-Shell aus.

Das was Du hier fragst ist sowas wie Du hast `a`, `b`, und `c` und weisst das man mit ``a + b`` `a` und `b` addieren kann, möchtest jetzt aber wissen wie man `a`, `b`, und `c` addiert, wo denn da die Stelle in Dokumentation oder Wiki ist wo *das* erklärt wird. Nirgends — weil selbst Schreiber von Tutorials für Anfänger davon ausgehen das man da *spätestens* nach ein wenig ”live” ausprobieren, selber drauf kommt.
paupau90
User
Beiträge: 26
Registriert: Sonntag 4. Mai 2014, 16:32

Code: Alles auswählen

dict["Berlin"["Koordinaten"]] 
?
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Du solltest vielleicht nicht raten, sonder überlegen und *selbst* ausprobieren.
Das Leben ist wie ein Tennisball.
Benutzeravatar
/me
User
Beiträge: 3554
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

paupau90 hat geschrieben:

Code: Alles auswählen

dict["Berlin"["Koordinaten"]] 
?
Warum fragst du? Teste selber.

Hilft dir das hier weiter?

Code: Alles auswählen

>>> thing = {'foo': {'bar': 'baz'}}
>>> thing
{'foo': {'bar': 'baz'}}
>>> type(thing)
<class 'dict'>
>>> thing['foo']
{'bar': 'baz'}
>>> type(thing['foo'])
<class 'dict'>
paupau90
User
Beiträge: 26
Registriert: Sonntag 4. Mai 2014, 16:32

Ich habe wirklich alle möglichen Kombinationen ausprobiert die mir eingefallen sind.
Ich komme wirkliche gerade nicht drauf.
paupau90
User
Beiträge: 26
Registriert: Sonntag 4. Mai 2014, 16:32

Ja ich habs. War wirklich einfach. Wohl zu einfach:
dict = ["stadt"]["Koordinaten"]

:oops:
Antworten