This is an old revision of the document!
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?
Linux, OpenSource und was ist überhaupt ein Betriebssystem
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)
- CSV (Comma separated values). Durch Kommas (oder für deutsches Excel durch Strichpunkte) getrennte Werte, zeilenweise. Kann mit einer Tabellekalkulation gelesen und geschrieben werden.
- Markup-Language (z.B. diese Seite wurde damit geschrieben, siehe Knopf «Seitenquelltext» rechts)
- JSON (JavaScript Object Notation). Maschinenlesbares Datenformat, das auch Menschen lesen können.
- Legen Sie ein Verzeichnis
jsontest
an, in dem Sie die beiden folgenden Dateienmini.json
undeinlesen.py
speichern (Rechtsklick, Link speichern unter…)
- mini.json
[ {"name":"test", "inhalt": [5,42,23,4321] }, {"name":"bla", "inhalt": [7,8,9] } ]
- einlesen.py
import json with open("mini.json") as f: mydata = json.load(f) print('mydata[1]["name"] =', mydata[1]["name"]) print('mydata[0]["test"] =', mydata[0]["test"])
Die Datei mini.json
wird vom Python-Programm einlesen.py
eingelesen und in die Variable mydata
gespeichert.
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.
- Welchen Wert hat mydata[1]["name"]
- Welchen Wert hat mydata[0]["test"]
- Welcher Code ergibt den Wert 42?
- Was enthält mydata[1]["inhalt"]
nach dem Befehl
mydata[1]["inhalt"][2]=1234
Datenanalyse
Wir werden die Daten erst einmal 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. Dazu verwenden wir einfach CSV-Dateien, die sind am einfachsten zu erzeugen.
Konvertierung
- Speichern Sie folgendes Python-Script im gleichen Verzeichnis wie Ihre YouTube-Daten: youtube-json-to-csv-convert.py
- In der git-bash, navigieren Sie in das Verzeichnis, in dem die Datei
watch-history.csv
und führen Sie das Python-Script aus. - Öffnen Sie die generierte CSV-Datei in Excel
Dazu gibt einen Screencast: Direktlink oder auf SharePoint.
Analyse
Falls Sie keine eigenen Daten im CSV-Format haben, können Sie folgende Daten analysieren (Auszug meiner YouTube-Daten): old-data.csv.zip
Erzeugen Sie eine Pivot-Tabelle dieser Daten, aggregiert nach Wochentag und Stunde. Schauen Sie sich dazu folgendes Video:
Screencast: Direktlink und auf SharePoint.
- Ü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).