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:56]
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 ======
 +===== 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.
  
 +  * **YouTube**: <<Account-Symbol>> -> Meine Daten auf Youtube (eigene Videos nicht exportieren, Format als JSON wählen)
 +  * **Instagram**: <<Kopf>> -> Profil -> Privatsphäre und Sicherheit. Format JSON wählen.
 +  * **Twitter**: More -> Settings and Support -> Settings and Privacy -> Download an Archive of your Data
 +  * TikTok? Facebook? Snapchat?
 +
 +<WRAP center round important 60%>
 +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 ===== ===== Datenformate =====
 +
 ==== Text-Dateien ==== ==== Text-Dateien ====
-Text-Dateien enthalten nur Text (als Folge von Buchstaben) aber keine Formatierung. Beispiele dafür sind:+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)   * 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)   * 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/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.
-  * [[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)   * 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.
  
  
 <WRAP todo> <WRAP todo>
-Gegeben ist folgende JSON-Datei: +  * Legen Sie ein Verzeichnis ''jsontest'' an, in dem Sie die beiden folgenden Dateien ''mini.json'' und ''einlesen.py'' speichern (**Rechtsklick, Link speichern unter...**) 
-<code json>+ 
 +<code json mini.json>
 [ [
  {"name":"test",  {"name":"test",
-  "inhalt": [42,23,4321]+  "inhalt": [5,42,23,4321]
  },  },
  {"name":"bla",  {"name":"bla",
Line 23: Line 43:
 ] ]
 </code> </code>
-Die Datei wird in Python als JSON eingelesen und in die Variable ''mydata'' gespeichert. +<code python einlesen.py
-  * Welchen Wert hat <HTML>mydata[1]["name"]</HTML>? +import json
-  * Welchen Wert hat <HTML>mydata[0]["test"]</HTML>? +
-  * Welcher Code ergibt den Wert 42?+
  
-<hidden Lösungen> +with open("mini.json") as f: 
-  * <HTML>"test"</HTML> +    mydata = json.load(f)
-  * Fehler, das erste Object hat keinen Schlüssel <HTML>"test"</HTML> +
-  * <HTML>mydata[0]["inhalt"][0]</HTML> +
-</hidden> +
-</WRAP>+
  
-===== Datenexport ===== +print('mydata[1]["name"=', mydata[1]["name"]) 
-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.+print('mydata[0]["test"=', mydata[0]["test"]) 
 +</code>
  
-  * **YouTube**: <<Account-Symbol>> -> Meine Daten auf Youtube (eigene Videos nicht exportieren, Format als JSON wählen) +Die Datei ''mini.json'' wird vom Python-Programm ''einlesen.py'' eingelesen und in die Variable ''mydata'' gespeichert. 
-  * **Instagram**: <<Kopf>> -> Profil -> Privatsphäre und SicherheitFormat JSON wählen. +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.
-  * **Twitter**: More -> Settings and Support -> Settings and Privacy -> Download an Archive of your Data +
-  * TikTok? Facebook? Snapchat?+
  
-===== Datenanalyse ===== +  * Welchen Wert hat <HTML>mydata[1]["name"]</HTML> 
-Wir werden die Daten vor allem in einer Tabellenkalkulation (z.B. Excel) analysieren. Dazu müssen die Daten aber erst in ein Format konvertiert werden, das von Excel auch gelesen werden kann. +  * 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>
  
-==== Konvertierung ====+<hidden Lösungen> 
 +  * <HTML>"bla"</HTML>Achtung! Arrays werden mit Null beginnend indiziert. 
 +  * Fehler, das erste Object hat keinen Schlüssel <HTML>"test"</HTML> 
 +  * <HTML>mydata[0]["inhalt"][1]</HTML> 
 +  * <HTML>[7,8,1234]</HTML>
  
-<WRAP todo>+<code python einlesen-loesung.py> 
 +import json
  
-  * 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}} +with open("mini.json") as f: 
-  * In der git-bash, navigieren Sie in das Verzeichnis, in dem die Datei ''watch-history.csv'' und führen Sie das Python-Script aus. +    mydata = json.load(f)
-  * Öffnen Sie die generierte CSV-Datei in Excel+
  
-<WRAP center round tip 60%> +print('mydata[1]["name"=', mydata[1]["name"]) 
-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]]. +# print('mydata[0]["test"=', mydata[0]["test"])  # Produziert einen Fehler 
-</WRAP>+print('mydata[0]["inhalt"][1] =', mydata[0]["inhalt"][1])
  
-</WRAP>+print("Vorher"
 +print(mydata[1]["inhalt"]) 
 +mydata[1]["inhalt"][2]=1234
  
-==== Analyse ==== +print('Nachher mydata[1]["inhalt"]') 
-<WRAP todo> +print(mydata[1]["inhalt"]
-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}} +</code
- +</hidden>
-Erzeugen Sie eine Pivot-Tabelle dieser Daten, aggregiert nach Wochentag und Stunde. Schauen Sie sich dazu folgendes Video: +
- +
-<WRAP center round tip 60%+
-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]].+
 </WRAP> </WRAP>
- 
- 
-  * Überprüfen Sie, ob Sonntag oder Montag der erste Wochentag in Excel ist (in LibreOffice ist Sonntag der Tag 1) 
-  * Filtern Sie die Daten nach Datum. Vergleichen Sie dazu z.B. den September (Schulbetrieb) mit Juli (Sommerferien). 
- 
-</WRAP> 
- 
  
  
  
  
  • lehrkraefte/blc/informatik/glf4-23/socialmedia-data/start.txt
  • Last modified: 2024/02/25 22:43
  • by Olaf Schnürer