lehrkraefte:blc:informatik:glf4-23:socialmedia-data:start

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
Last revision Both sides next revision
lehrkraefte:blc:informatik:glf4-23:socialmedia-data:start [2023/02/22 11:44]
Ivo Blöchliger [Text-Dateien]
lehrkraefte:blc:informatik:glf4-23:socialmedia-data:start [2024/02/25 20:54]
Olaf Schnürer [Text-Dateien]
Line 1: Line 1:
 ====== Datenschutz und Datenanalyse ====== ====== Datenschutz und Datenanalyse ======
- 
-===== Datenformate ===== 
-==== Text-Dateien ==== 
-Text-Dateien enthalten nur Text (als Folge von Buchstaben) aber keine Formatierung. Beispiele dafür sind: 
-  * Python-Dateien (die werden erst in einem Editor farbig dargestellt) 
-  * HTML-Dateien (Aufbau von Webseiten, drücken Sie mal Ctrl-U, um den Seitenquelltext anzuzeigen) 
-  * [[https://de.wikipedia.org/wiki/CSV_(Dateiformat)|CSV (Comma separated values)]]. Durch Kommas (oder für deutsches Excel durch Strichpunkte) getrennte Werte, zeilenweise. Kann mit einer Tabellekalkulation gelesen und geschrieben werden. 
-  * [[https://de.wikipedia.org/wiki/JavaScript_Object_Notation|JSON (JavaScript Object Notation)]]. Maschinenlesbares Datenformat, das auch Menschen lesen können. 
-  * Markup-Language (z.B. diese Seite wurde damit geschrieben, siehe Knopf «Seitenquelltext» rechts) 
- 
- 
- 
 ===== Datenexport ===== ===== Datenexport =====
 Wenn möglich, exportieren Sie die Daten im JSON-Format. Das ist zwar «einfach so» nicht so schön anzuschauen wie eine HTML-Datei, dafür sind die Daten sehr einfach von einem Programm lesbar und bearbeitbar. Wenn möglich, exportieren Sie die Daten im JSON-Format. Das ist zwar «einfach so» nicht so schön anzuschauen wie eine HTML-Datei, dafür sind die Daten sehr einfach von einem Programm lesbar und bearbeitbar.
Line 20: Line 8:
   * TikTok? Facebook? Snapchat?   * TikTok? Facebook? Snapchat?
  
-===== Datenanalyse ===== +<WRAP center round important 60%> 
-Wir werden die Daten vor allem in einer Tabellenkalkulation (z.B. ExcelanalysierenDazu müssen die Daten aber erst in ein Format konvertiert werden, das von Excel auch gelesen werden kann+Wichtig! Speichern Sie Ihre persönlichen Daten **nicht auf C:\ofi**, weil andere Benutzer diese Daten lesen könnten. Speichern Sie diese auf Ihrem Laufwerk H:\ oder auf einem USB-Stick. 
 +</WRAP> 
 + 
 +Wenn der Download zu gross ist, passen Sie den Download-Ordern im Browser wie folgt an: 
 +  * «Drei Punkte Menu oben rechts» 
 +  * Einstellungen 
 +  * Downloads 
 +  * Ort: Anpassen auf Ihren Stick (oder c:\ofi\downloads, den Ordner am Schluss aber wieder löschen). 
 +===== Linux, OpenSource und was ist überhaupt ein Betriebssystem ===== 
 +  * [[.:exkurs-opensource|Exkurs]] 
 +===== Datenformate ===== 
 + 
 +==== Text-Dateien ==== 
 +Text-Dateien enthalten nur Text (als Folge von Buchstaben) aber keine Formatierung (wie z.B. Word-Dokumente). Beispiele dafür sind: 
 +  * Python-Dateien (die werden erst in einem Editor farbig dargestellt) 
 +  * HTML-Dateien (Aufbau von Webseiten, drücken Sie mal Ctrl-U, um den Seitenquelltext anzuzeigen) 
 +  * [[https://de.wikipedia.org/wiki/CSV_(Dateiformat)|CSV (Comma separated values)]]. Durch Kommas (oder für deutsches Excel durch Strichpunkte) getrennte Werte, zeilenweise. Kann mit einer Tabellenkalkulationssoftware gelesen und geschrieben werden
 +  * Markup-Language (z.B. diese Seite wurde damit geschrieben, siehe Knopf «Seitenquelltext» rechts) 
 +  * [[https://de.wikipedia.org/wiki/JavaScript_Object_Notation|JSON (JavaScript Object Notation)]]. Maschinenlesbares Datenformat, das auch Menschen lesen können.
  
-==== Konvertierung ==== 
  
 <WRAP todo> <WRAP todo>
 +  * Legen Sie ein Verzeichnis ''jsontest'' an, in dem Sie die beiden folgenden Dateien ''mini.json'' und ''einlesen.py'' speichern (**Rechtsklick, Link speichern unter...**)
  
-  * Speichern Sie folgendes Python-Script im gleichen Verzeichnis wie Ihre YouTube-Daten: {{lehrkraefte:blc:informatik:glf4-23:socialmedia-data:youtube-json-to-csv-convert.py}+<code json mini.json> 
-  * In der git-bashnavigieren Sie in das Verzeichnisin dem die Datei ''watch-history.csv'' und führen Sie das Python-Script aus+
-  * Öffnen Sie die generierte CSV-Datei in Excel+ {"name":"test", 
 +  "inhalt"[5,42,23,4321] 
 + }
 + {"name":"bla", 
 +  "inhalt": [7,8,9] 
 + } 
 +
 +</code> 
 +<code python einlesen.py> 
 +import json
  
-<WRAP center round tip 60%> +with open("mini.json") as f: 
-Dazu gibt einen Screencast: [[https://fginfo.ksbg.ch/~ivo/videos/informatik/vierte-klasse-2023/04-youtube-json-to-csv.mp4|Direktlink]] oder auf [[https://bldsg-my.sharepoint.com/:v:/g/personal/ivo_bloechliger_ksbg_ch/Edoi9blJy7pEp5UvqddapyUBSdxhVJpqF53z85KbUryigw?e=QWf7Q1|SharePoint]]. +    mydata json.load(f)
-</WRAP>+
  
-</WRAP>+print('mydata[1]["name"] =', mydata[1]["name"]) 
 +print('mydata[0]["test"] =', mydata[0]["test"]) 
 +</code>
  
-==== Analyse ==== +Die Datei ''mini.json'' wird vom Python-Programm ''einlesen.py'' eingelesen und in die Variable ''mydata'' gespeichert. 
-<WRAP todo> +Mit Hilfe vom Programm (oder durch «logisches Schlussfolgern») beantworten Sie folgende Fragen. Dafür soll der Python-Code auch entsprechend verändert und erweitert werden.
-Falls Sie keine eigenen Daten im CSV-Format haben, können Sie folgende Daten analysieren (Auszug meiner YouTube-Daten): {{lehrkraefte:blc:informatik:glf4-23:socialmedia-data:old-data.csv.zip}}+
  
-Erzeugen Sie eine Pivot-Tabelle dieser Daten, aggregiert nach Wochentag und Stunde. Schauen Sie sich dazu folgendes Video:+  * Welchen Wert hat <HTML>mydata[1]["name"]</HTML> 
 +  * Welchen Wert hat <HTML>mydata[0]["test"]</HTML> 
 +  * Welcher Code ergibt den Wert 42? 
 +  * Was enthält <HTML>mydata[1]["inhalt"]</HTML> nach dem Befehl <HTML>mydata[1]["inhalt"][2]=1234</HTML>
  
-<WRAP center round tip 60%+<hidden Lösungen
-Screencast: [[https://fginfo.ksbg.ch/~ivo/videos/informatik/vierte-klasse-2023/05-youtube-csv-excel-pivot-tabelle.mp4|Direktlink]] und auf [[https://bldsg-my.sharepoint.com/:v:/g/personal/ivo_bloechliger_ksbg_ch/EfigS1P1v-RAlZlbh4tTRaEB1WUV9FEnpy5EuoBcinjLrg?e=OHVCcj|SharePoint]]. +  * <HTML>"bla"</HTML>Achtung! Arrays werden mit Null beginnend indiziert. 
-</WRAP>+  * Fehler, das erste Object hat keinen Schlüssel <HTML>"test"</HTML> 
 +  * <HTML>mydata[0]["inhalt"][1]</HTML> 
 +  * <HTML>[7,8,1234]</HTML>
  
 +<code python einlesen-loesung.py>
 +import json
  
-  * Überprüfen Sie, ob Sonntag oder Montag der erste Wochentag in Excel ist (in LibreOffice ist Sonntag der Tag 1+with open("mini.json"as f: 
-  * Filtern Sie die Daten nach DatumVergleichen Sie dazu z.B. den September (Schulbetriebmit Juli (Sommerferien).+    mydata = json.load(f)
  
-</WRAP>+print('mydata[1]["name"] =', mydata[1]["name"]) 
 +# print('mydata[0]["test"] =', mydata[0]["test"])  # Produziert einen Fehler 
 +print('mydata[0]["inhalt"][1] =', mydata[0]["inhalt"][1])
  
 +print("Vorher")
 +print(mydata[1]["inhalt"])
 +mydata[1]["inhalt"][2]=1234
 +
 +print('Nachher mydata[1]["inhalt"]')
 +print(mydata[1]["inhalt"])
 +</code>
 +</hidden>
 +</WRAP>
  
  
  
  
  • lehrkraefte/blc/informatik/glf4-23/socialmedia-data/start.txt
  • Last modified: 2024/02/25 22:43
  • by Olaf Schnürer