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

Datenschutz und Datenanalyse

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?

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.

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).

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 Tabellenkalkulationssoftware 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 Dateien mini.json und einlesen.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"])
# oder (fast) dasselbe etwas kürzer mit sogenannten f-strings (= formatted strings):
print(f'{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

Lösungen

Lösungen

  • "bla"

    Achtung! Arrays werden mit Null beginnend indiziert.

  • Fehler, das erste Object hat keinen Schlüssel "test"
  • mydata[0]["inhalt"][1]
  • [7,8,1234]
einlesen-loesung.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"])  # 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"])
  • lehrkraefte/blc/informatik/glf4-23/socialmedia-data/start.txt
  • Last modified: 2024/02/25 22:43
  • by Olaf Schnürer