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
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 22:43] (current)
Olaf Schnürer
Line 1: Line 1:
 +~~NOTOC~~
 ====== 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 9:
   * 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"]) 
 +# oder (fast) dasselbe etwas kürzer mit sogenannten f-strings (= formatted strings): 
 +print(f'{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.1677062668.txt.gz
  • Last modified: 2023/02/22 11:44
  • by Ivo Blöchliger