lehrkraefte:blc:informatik:glf4-20:umgang-mit-dateien:challenge3

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
lehrkraefte:blc:informatik:glf4-20:umgang-mit-dateien:challenge3 [2021/02/22 20:27]
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 57: Line 57:
 <code python> <code python>
 tabelle = [[x*y for x in range(1,6)] for y in range(1,6)] tabelle = [[x*y for x in range(1,6)] for y in range(1,6)]
 +print("Ganze tabelle:")
 +print(tabelle)
 +
 csv = "" csv = ""
  
Line 80: Line 83:
 <WRAP todo> <WRAP todo>
   * Speichern Sie folgende Datei im Ordner ''challenges'': {{lehrkraefte:blc:informatik:glf4-20:umgang-mit-dateien:data01.json}}   * Speichern Sie folgende Datei im Ordner ''challenges'': {{lehrkraefte:blc:informatik:glf4-20:umgang-mit-dateien:data01.json}}
-  * Schreiben Sie ein Python-Programm, das die Datei ''data01.json'' einliest und eine Zeile im CSV-Format produziert.+  * Folgender Code liest die JSON-Datei ein und man erhält einen liste in der Variablen ''data'': 
 +<code python jsonreader.py> 
 +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])) 
 +</code> 
 +  * Erweitern Sie obiges Python-Programm so, dass eine Zeile im CSV-Format produziert wird.
 </WRAP> </WRAP>
  
Line 88: Line 106:
   * Speichern Sie das Resultat in der Datei ''data07.csv'' mit dem folgenden Code:   * Speichern Sie das Resultat in der Datei ''data07.csv'' mit dem folgenden Code:
 <code python> <code python>
-datei = open("data07.csv")+datei = open("data07.csv", "w" # Datei zum Schreiben öffnen.
 datei.write(csv) datei.write(csv)
 datei.close() datei.close()
 </code> </code>
   * Überprüfen Sie, ob sich die Datei mit Excel korrekt öffnen lässt.   * Überprüfen Sie, ob sich die Datei mit Excel korrekt öffnen lässt.
-</code>+
 </WRAP> </WRAP>
  
 ====== Dictionaries (JSON Objects) ====== ====== 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 ''{'' 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.
 +  * Studieren Sie folgenden Code:
 +<code python>
 +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))
 +</code>
  
 +</WRAP>
 +
 +<WRAP todo>
 +  * Schreiben Sie ein Python-Programm, das folgende JSON-Datei in eine CSV-Datei mit 2 Spalten umwandelt: {{lehrkraefte:blc:informatik:glf4-20:umgang-mit-dateien:data03.json}}
 +
 +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.
 +</WRAP>
 +
 +<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:blc:informatik:glf4-20:umgang-mit-dateien:data04.json}}.
 +</WRAP>
  • lehrkraefte/blc/informatik/glf4-20/umgang-mit-dateien/challenge3.1614022031.txt.gz
  • Last modified: 2021/02/22 20:27
  • by Ivo Blöchliger