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 12:00]
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 ======
 +===== 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",
Line 23: Line 44:
 ] ]
 </code> </code>
-Die Datei wird in Python als JSON eingelesen und in die Variable ''mydata'' gespeichert.+<code python einlesen.py> 
 +import json 
 + 
 +with open("mini.json") as f: 
 +    mydata = json.load(f) 
 + 
 +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> 
 + 
 +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 <HTML>mydata[1]["name"]</HTML>   * Welchen Wert hat <HTML>mydata[1]["name"]</HTML>
   * Welchen Wert hat <HTML>mydata[0]["test"]</HTML>   * Welchen Wert hat <HTML>mydata[0]["test"]</HTML>
Line 34: Line 69:
   * <HTML>mydata[0]["inhalt"][1]</HTML>   * <HTML>mydata[0]["inhalt"][1]</HTML>
   * <HTML>[7,8,1234]</HTML>   * <HTML>[7,8,1234]</HTML>
-</hidden> 
-</WRAP> 
  
-===== Datenexport ===== +<code python einlesen-loesung.py> 
-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.+import json
  
-  * **YouTube**: <<Account-Symbol>> -> Meine Daten auf Youtube (eigene Videos nicht exportieren, Format als JSON wählen+with open("mini.json"as f: 
-  * **Instagram**: <<Kopf>> -> Profil -> Privatsphäre und SicherheitFormat JSON wählen. +    mydata = json.load(f)
-  * **Twitter**: More -> Settings and Support -> Settings and Privacy -> Download an Archive of your Data +
-  * TikTok? Facebook? Snapchat?+
  
-===== Datenanalyse ===== +print('mydata[1]["name"=', mydata[1]["name"]) 
-Wir werden die Daten vor allem in einer Tabellenkalkulation (z.B. Excelanalysieren. Dazu müssen die Daten aber erst in ein Format konvertiert werdendas von Excel auch gelesen werden kann. +# print('mydata[0]["test"] =', mydata[0]["test"] # Produziert einen Fehler 
 +print('mydata[0]["inhalt"][1] ='mydata[0]["inhalt"][1])
  
-==== Konvertierung ====+print("Vorher"
 +print(mydata[1]["inhalt"]) 
 +mydata[1]["inhalt"][2]=1234
  
-<WRAP todo> +print('Nachher mydata[1]["inhalt"]') 
- +print(mydata[1]["inhalt"]) 
-  * 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
-  * In der git-bash, navigieren Sie in das Verzeichnis, in dem die Datei ''watch-history.csv'' und führen Sie das Python-Script aus. +</hidden>
-  * Öffnen Sie die generierte CSV-Datei in Excel +
- +
-<WRAP center round tip 60%+
-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]].+
 </WRAP> </WRAP>
- 
-</WRAP> 
- 
-==== Analyse ==== 
-<WRAP todo> 
-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: 
- 
-<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> 
- 
- 
-  * Ü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.1677063610.txt.gz
  • Last modified: 2023/02/22 12:00
  • by Ivo Blöchliger