Liste in Liste in Json
Verfasst: Mittwoch 1. April 2020, 19:29
Hallo zusammen,
ich bin neu hier, also erstmal hallo zusammen.
Ich bin blutiger Anfänger was Python angeht aber in der Regel ein schneller "lerner" und vielleicht kann ich dann auch schnell etwas zurückgeben.
In der Coronakrise muss man sich ja seine Projekte suchen und so versuche ich gerade Daten von einer API mit Python auszulesen.
Ich nutze zum einlesen folgende Befehle:
Folgendes gibt die URL her:
mir alle "games" anzeigen zu lassen.
Möchte ich aber zum Beispiel nun genauer auf diese Liste "Games" zugreifen und beispielsweise nur alle "match_id" Values anzeigen lassen, dann weiß ich nicht wie ich das hinbekommen soll.
Nutze ich
bekomme ich die Fehlermeldung
Kann mir hier jemand helfen? Wie gesagt bin noch komplett neu in der Materie. Wahrscheinlich muss ich die Datei noch irgendwie "umstricken"?
Gruss und Danke schonmal
ich bin neu hier, also erstmal hallo zusammen.
Ich bin blutiger Anfänger was Python angeht aber in der Regel ein schneller "lerner" und vielleicht kann ich dann auch schnell etwas zurückgeben.
In der Coronakrise muss man sich ja seine Projekte suchen und so versuche ich gerade Daten von einer API mit Python auszulesen.
Ich nutze zum einlesen folgende Befehle:
Code: Alles auswählen
test = urllib.request.urlopen(url)
data = json.load(test)
Was jetzt funktioniert ist beispielsweise mit[
{
"begin_at": "2020-04-01T09:00:00Z",
"detailed_stats": true,
"draw": false,
"end_at": null,
"forfeit": false,
"game_advantage": null,
"games": [
{
"begin_at": null,
"detailed_stats": true,
"end_at": null,
"finished": false,
"forfeit": false,
"id": 17248,
"length": null,
"match_id": 557804,
"position": 1,
"status": "not_started",
"video_url": null,
"winner": {
"id": null,
"type": "Team"
},
"winner_type": "Team"
},
{
"begin_at": null,
"detailed_stats": true,
"end_at": null,
"finished": false,
"forfeit": false,
"id": 17249,
"length": null,
"match_id": 557804,
"position": 2,
"status": "not_started",
"video_url": null,
"winner": {
"id": null,
"type": "Team"
},
"winner_type": "Team"
},
{
"begin_at": null,
"detailed_stats": true,
Code: Alles auswählen
for i in data:
print(i['games'])
Möchte ich aber zum Beispiel nun genauer auf diese Liste "Games" zugreifen und beispielsweise nur alle "match_id" Values anzeigen lassen, dann weiß ich nicht wie ich das hinbekommen soll.
Nutze ich
Code: Alles auswählen
for i in data:
print(i['games']["match_id"]
Code: Alles auswählen
TypeError: list indices must be integers or slices, not str
Gruss und Danke schonmal