[
und ]
), die wieder JSON-Datentypen enthalten kann.{
und }
). Diese sind wie Listen, aber mit beliebigen Strings anstatt Zahlen als Indizies.Testen und verstehen Sie (Zeile für Zeile!) folgendes Python-Programm:
primzahlen = [2,3,5,7,11,13,17,19,23] for p in primzahlen: print("%d ist prim!" % p) # Indizies starten bei 0! print("Die zweite Primzahl ist %d" % primzahlen[1]) csv = "" # Leere Zeichenkette for p in primzahlen: csv += "%d;" % p csv+="\n" # Zeilenumbruch print(csv)
[
und ]
durch Kommas getrennt geschrieben.a[2]
(drittes Element der Liste, die in der Variablen a
gespeichert ist).print("bla %d bla" % 5) # <- %d wird durch 5 ersetzt, man erhält "bla 5 bla" print("x=%d, y=%d" % (23,42)) # <- das erste %d wird durch 23, das zweite durch 42 ersetzt, man erhält "x=23, y=42".
tabelle = [[1,2,3],[4,5,6]] print(tabelle[0]) # erstes Element ist die Liste [1,2,3] print(tabelle[0][1]) # zweites Element der Liste [1,2,3], also 2. print("\nZeilenweise Ausgabe:") for zeile in tabelle: print(zeile)
Vervollständigen Sie folgenden Python-Code, so dass er die Tabelle im CSV Format ausgibt:
tabelle = [[x*y for x in range(1,6)] for y in range(1,6)] print("Ganze tabelle:") print(tabelle) csv = "" # # Hier die Variable csv erweitern # Inspirieren Sie sich dabei beim Beispiel mit den Primzahlen # # Ausgabe print(csv)
Die Ausgabe soll wie folgt aussehen:
1;2;3;4;5; 2;4;6;8;10; 3;6;9;12;15; 4;8;12;16;20; 5;10;15;20;25;
challenges
: data01.jsondata
:import json # Für die Verarbeitung von JSON-Daten # Datei öffnen datei = open("data01.json") # JSON-Daten parsen data = json.load(datei) # Datei schliessen datei.close() # Schlaufe über die Daten for i in range(len(data)): print("data[%d] = %s" % (i,data[i]))
challenges
: data07.jsondata07.json
einliest und eine Zeile im CSV-Format produziert.data07.csv
mit dem folgenden Code:datei = open("data07.csv", "w") # Datei zum Schreiben öffnen. datei.write(csv) datei.close()
{
und }
geschrieben, wobei die einzelnen Einträge aus einem String in Anführungszeichen (der Key), einem Doppelpunkt :
und einem Wert (Value) bestehen. Die Werte können beliebige Python-Objekte sein, wie Zahlen, Strings, Listen oder auch wieder Dictionaries.d = {"4eNP": 23, "4iW" : 22, "4kW" : 20} print(d["4iW"]) # Liefert 22 print(d.keys()) # Liefert ['4kW', '4iW', '4eNP'] print(d.values()) # Liefert [20, 22, 23] print(d.items()) # Liefert [('4kW', 20), ('4iW', 22), ('4eNP', 23)] # Loop über alle Elmente for key,value in d.items(): print("d['%s']=%d" % (key, value))
Verwenden Sie dazu obige Code-Blöcke, um die JSON-Datei einzulesen und am Schluss das CSV zu schreiben. Schauen Sie sich die JSON-Datei an und/oder geben Sie den Inhalt in Python aus (mit print(data)
in obigen Code-Beispielen). Überlegen Sie sich, was die übergeordnete Struktur ist, und wie Sie mit einer for
-Schlaufe über die Elemente Iterieren können.