lehrkraefte:blc:informatik:social-media-export

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:social-media-export [2026/02/10 06:09] – [Social Media Meta-Daten] Ivo Blöchligerlehrkraefte:blc:informatik:social-media-export [2026/02/10 10:55] (current) – [Andere Formate] Ivo Blöchliger
Line 6: Line 6:
 Dazu müssen erst mal die Daten eingelesen und in ein Format gebracht werden, womit gearbeitet werden kann. Dazu müssen erst mal die Daten eingelesen und in ein Format gebracht werden, womit gearbeitet werden kann.
  
 +{{lehrkraefte:blc:informatik:yt-watch-history.svg?300}}
 ===== JSON-Dateien ===== ===== JSON-Dateien =====
 +==== Kurz-Übersicht ====
 +JSON-Dateien sind sehr gut maschinenlesbar und auch einfach zu produzieren. JSON kann verschiedene Datenstrukturen enthalten, u.a.
 +  * Zahlen: Ganzzahlen, Dezimalbrüche (mit Dezimalpunkt), z.B. ''42'', oder ''3.1415926''
 +  * Strings (Zeichenketten) zwischen doppelten Anführungszeichen ''<nowiki>"</nowiki>'', z.B. ''<nowiki>"Hallo"</nowiki>''.
 +  * Listen (Arrays), zwischen ''['' und '']'', Einträge durch Kommas getrennt, z.B. ''<nowiki>[2,5,"Bla", [42,67],1]</nowiki>''
 +    * Die Einträge selbst können beliebige JSON-Datenstrukturen sein.
 +  * Objects (Dictionaries), zwischen ''{'' und ''}'', Schlüssel-Wert Paar durch Kommas getrennt, z.B. ''<nowiki>{"name":"Vreni", "alter":27, "pets":["dog", "cat", "rat"]}</nowiki>''
 +    * Die Schlüssel sind immer Strings zwischen doppelten Anführungszeichen, gefolgt von einem Doppelpunkt '':''
 +    * Die Werte sind beliebige JSON-Datenstrukturen.
 +  * Leerschläge, Tabs, Zeilenumbrüche werden ignoriert (ausser in Strings natürlich).
 +
 +==== Einlesen einer JSON-Datei in Python ====
 +<code python>
 +import json
 +
 +with open('name_meiner_datei_im_gleichen_verzeichnis.json', encoding="utf-8") as f:
 +    data = json.load(f)
 +</code>
 +
 +==== Ausgabe in JSON-Datei ====
 +<code python>
 +import json
 +
 +with open('datei_wird_ueberschrieben.json', 'w') as f:
 +    json.dump(data, f)                  # Kompakte Datei
 +    # json.dump(data, f, indent=2)      # Indentierte Datei mit Zeilenumbrüchen
 +</code>
 +==== Zugriff auf die Daten in Python ====
 +Wir betrachten als Beispiel folgenden JSON Eintrag
 +''<nowiki>{"name":"Vreni", "alter":27, "pets":["dog", "cat", "rat"]}</nowiki>''
 +
 +<code python>
 +# Daten in der Variable data eingelesen
 +print(f"Name ist {data["name"]})
 +print(f"Zweites pet ist {data["pets"][1]}")
 +</code>
 +==== Datenstrukturen anlegen ====
 +<code python>
 +data = {}  # Leerer dictionary (JSON Object)
 +data["name"] = "Vreni"
 +# Oder obige zwei Zeilen in einer:   data = {"name":"Vreni"}
 +data["pets"] = ["dog", "cat"]
 +data["pets"].append("rat"       # Liste vergrössern
 +data["alter"] = 3**3
 +</code>
 +
 +===== Umgang mit Datum/Zeit-Angaben =====
 +Dokumentation https://docs.python.org/3/library/datetime.html
 +
 +==== Datum/Zeit in ISO-Format ====
 +<code python>
 +from datetime import datetime
 +zeit = datetime.fromisoformat("2026-02-03T13:55:38.223Z")
 +print(zeit)
 +print(f" hour={zeit.hour} weekday={zeit.weekday()} timestamp={zeit.timestamp()}")
 +</code>
 +
 +==== Andere Formate ====
 +
 +''2026-02-06 15:12:18''
 +
 +<code python>
 +zeit = "2026-02-06 15:12:18"
 +time = datetime.strptime(zeit, "%Y-%m-%d %H:%M:%S")
 +</code>
 +
 +Instagramm liefert einen Timestamp. Versuchen Sie ''datetime.fromtimestamp(ts)''
 +
 +Eventuell gibt es für das vorliegende Format bereits einen Parser, sonst Format selbst beschreiben und mit
 +[[https://docs.python.org/3/library/datetime.html#datetime.datetime.strptime|datetime.strptime]] umwandeln.
 +
 +====== Beispielcodes und -Daten ======
 +  * [[https://bldsg-my.sharepoint.com/:f:/g/personal/ivo_bloechliger_ksbg_ch/IgDxVQONflH2RKaNwrpyaWY3AQPGWz18Ba9TdV1FD8JzrCU?email=4DNP%40ksbg.ch&e=nQ7JcN|Siehe in diesem One-Drive Ordner]]. Legen Sie hier auch Ihre Scripts ab (mit bezeichnendem Dateinamen).
 +
  
 ===== Alte Seiten mit Konvertierungsprogrammen ===== ===== Alte Seiten mit Konvertierungsprogrammen =====
   * [[lehrkraefte:blc:informatik:glf4-23:socialmedia-data:analyze|Scripts Blc vom 2023]]   * [[lehrkraefte:blc:informatik:glf4-23:socialmedia-data:analyze|Scripts Blc vom 2023]]
   * [[lehrkraefte:ks:teaching:informatik-glf4-23-4fnp#code|Scripts Ks vom 2023]]   * [[lehrkraefte:ks:teaching:informatik-glf4-23-4fnp#code|Scripts Ks vom 2023]]
 +
 +
 +
  • lehrkraefte/blc/informatik/social-media-export.1770703768.txt.gz
  • Last modified: 2026/02/10 06:09
  • by Ivo Blöchliger