Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
lehrkraefte:blc:informatik:glf4-20:umgang-mit-dateien:challenge3 [2021/02/22 18:47] Ivo Blöchliger |
lehrkraefte:blc:informatik:glf4-20:umgang-mit-dateien:challenge3 [2021/02/25 07:21] (current) Ivo Blöchliger [Dictionaries (JSON Objects)] |
||
---|---|---|---|
Line 10: | Line 10: | ||
* Mehr dazu auf https:// | * Mehr dazu auf https:// | ||
</ | </ | ||
+ | |||
+ | ===== Listen (Arrays) ===== | ||
<WRAP todo> | <WRAP todo> | ||
Line 20: | Line 22: | ||
# Indizies starten bei 0! | # Indizies starten bei 0! | ||
print(" | print(" | ||
+ | |||
+ | csv = "" | ||
+ | for p in primzahlen: | ||
+ | csv += " | ||
+ | csv+=" | ||
+ | print(csv) | ||
</ | </ | ||
</ | </ | ||
+ | |||
+ | |||
<WRAP info> | <WRAP info> | ||
* Listen werden zwischen '' | * Listen werden zwischen '' | ||
Line 30: | Line 40: | ||
print(" | print(" | ||
</ | </ | ||
+ | * Listen können auch wieder Listen enthalten: | ||
+ | <code python> | ||
+ | tabelle = [[1, | ||
+ | print(tabelle[0]) | ||
+ | print(tabelle[0][1]) | ||
+ | |||
+ | print(" | ||
+ | for zeile in tabelle: | ||
+ | print(zeile) | ||
+ | </ | ||
+ | |||
</ | </ | ||
<WRAP todo> | <WRAP todo> | ||
+ | Vervollständigen Sie folgenden Python-Code, | ||
+ | <code python> | ||
+ | tabelle = [[x*y for x in range(1,6)] for y in range(1,6)] | ||
+ | print(" | ||
+ | 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: | ||
+ | <code txt> | ||
+ | 1;2;3;4;5; | ||
+ | 2;4;6;8;10; | ||
+ | 3; | ||
+ | 4; | ||
+ | 5; | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | ====== JSON in, CSV out ====== | ||
+ | <WRAP todo> | ||
+ | * Speichern Sie folgende Datei im Ordner '' | ||
+ | * Folgender Code liest die JSON-Datei ein und man erhält einen liste in der Variablen '' | ||
+ | <code python jsonreader.py> | ||
+ | import json # Für die Verarbeitung von JSON-Daten | ||
+ | |||
+ | # Datei öffnen | ||
+ | datei = open(" | ||
+ | # JSON-Daten parsen | ||
+ | data = json.load(datei) | ||
+ | # Datei schliessen | ||
+ | datei.close() | ||
+ | |||
+ | # Schlaufe über die Daten | ||
+ | for i in range(len(data)): | ||
+ | print(" | ||
+ | </ | ||
+ | * Erweitern Sie obiges Python-Programm so, dass eine Zeile im CSV-Format produziert wird. | ||
+ | </ | ||
+ | |||
+ | <WRAP todo> | ||
+ | * Speichern Sie folgende Datei im Ordner '' | ||
+ | * Schreiben Sie ein Python-Programm, | ||
+ | * Speichern Sie das Resultat in der Datei '' | ||
+ | <code python> | ||
+ | datei = open(" | ||
+ | datei.write(csv) | ||
+ | datei.close() | ||
+ | </ | ||
+ | * Überprüfen Sie, ob sich die Datei mit Excel korrekt öffnen lässt. | ||
+ | |||
+ | </ | ||
+ | |||
+ | ====== Dictionaries (JSON Objects) ====== | ||
+ | <WRAP info> | ||
+ | * Listen (Array) werden mit Zahlen von 0 bis n-1 indiziert, wobei n die Anzahl Element sind. | ||
+ | * Dictionaries werden durch Strings (Zeichenketten) indiziert und haben a priori keine fixe Ordnung. | ||
+ | * Dictionaries werden zwischen '' | ||
+ | * Studieren Sie folgenden Code: | ||
+ | <code python> | ||
+ | d = {" | ||
+ | print(d[" | ||
+ | print(d.keys()) | ||
+ | print(d.values()) # Liefert [20, 22, 23] | ||
+ | print(d.items()) | ||
+ | # Loop über alle Elmente | ||
+ | for key,value in d.items(): | ||
+ | print(" | ||
+ | </ | ||
+ | |||
+ | </ | ||
+ | |||
+ | <WRAP todo> | ||
+ | * Schreiben Sie ein Python-Programm, | ||
+ | |||
+ | Verwenden Sie dazu obige Code-Blöcke, | ||
+ | </ | ||
+ | |||
+ | <WRAP todo> | ||
+ | * Diejenigen, die Daten im JSON-Format haben (z.B. von Spotify), können versuchen, diese als CSV zu exportieren. Die anderen können diese Datei verwenden: {{lehrkraefte: | ||
</ | </ |