Schlüsseltechnologie

STP060: Praxisbeispiel: Datenauswertung auf der Kommandozeile


Listen Later

Nachdem die beiden sich gegenseitig ihr Leid geklagt haben, geht es dann doch noch um Technik. Oder eher um deren Anwendung. Diesmal wieder mit einer Hands-on-Folge, denn es ist wichtig, vor Kunden und bei Präsentationen einen professionellen Eindruck zu machen.

Shownotes
  • Rückblick: STP006 "Kommandozeilen und Unixphilosophie"

    • ttimeless hat gerade eine Gelegenheit, Daten zu analysieren, an der man das praktische Vorgehen mit Kommandozeilen-Werkzeugen gut demonstrieren kann
    • Ausgangssituation: Klimasensor-Datenlogger in verschiedenen Räumen messen einmal pro Minute Temperatur und Luftfeuchtigkeit
    • mitgelieferte Software bietet eine rudimentäre Visualisierung sowie einen Datenexport als CSV
    • die hier besprochenen CSV-Dateien können zum Nachvollziehen heruntergeladen werden
    • Ziel: eigene Datenvisualisierung mit gnuplot
    • erste Sichtprüfung:

      • acht Kopfzeilen mit Metadaten und Auswertungen (Berichtszeitraum, Maximum/Minimum/Durchschnitt)
      • diesen Header brauchen wir nicht, wir wollen die Rohdaten
      • Option 1: sofern immer acht Zeilen, z.B. tail -n +9 oder sed 1,8d
      • Option 2: Suchmuster auf den Zeileninhalt der letzten Kopfzeile, z.B. sed 1,/^Aufnahmezeit/d
      • Option 3: nur Zeilen auswählen, die nach Daten aussehen, z.B. grep '^"[0-9]'
      • Kopfzeilen entfernt:

        • nächstes Problem: die Anführungszeichen um die einzelnen Werte werden gnuplot verwirren -> würden wir mit tr -d \" wegbekommen
        • Problem: dann wären die Dezimalkommas nicht von den wertetrennenden Kommas zu unterscheiden
        • unsere Lösung: während wir Anführungszeichen entfernen, werden dazwischenliegende Kommas gleichzeitig durch ein anderes Trennzeichen (hier einen Tabulator) ersetzt -> sed 's/^"//; s/","/\t/g; s/"\s*$//'
        • hierin ist Trickserei erforderlich, weil die erzeugten Dateien Windows-Zeilenenden haben (CR+LF), nicht Unix-Zeilenenden (nur LF) -> könnte man auch vorher mit dos2unix beheben, dann ist statt s/"\s*$// nur s/"$// erforderlich
        • Alternative (erfordert csvkit): csvformat -d , -q \" -U 3 -D $'\t'
        • Anführungszeichen entfernt: Balkon.dat

          • zu Xyrills Überraschung ist das schon ausreichend, den Rest können wir in gnuplot machen
          • Anzeige in gnuplot: das untenstehende Programm als Balkon.gp abspeichern, gnuplot aufrufen und load 'Balkon.gp' eingeben)

            set xdata time
            set timefmt '%d-%m-%Y %H:%M:%S'
            set format x '%d.%m.%Y %H:%M:%S'
            set decimalsign ','
            set datafile separator "\t"
            set ylabel "Temperatur °C"
            set y2label "Luftfeuchte %"
            set y2tics
            plot 'Balkon.dat' using 1:2 title 'Temperatur' with lines axes x1y1, 'Balkon.dat' using 1:3 title 'Luftfeuchtigkeit' with lines axes x1y2
          • Für die Ausgabe in eine Datei können noch diese beiden Zeilen vorangestellt werden:

            set terminal svg background "white" dashed size 1920,1080
            set output "Balkon.svg"
          • Was, wenn gnuplot nicht so clever wäre?

            • Dezimaltrennzeichen von Komma in Punkt ändern:
            • Datumsformat in ISO ändern:
            • Xyrill hatte auch geschaut, wie man die Zeitangaben in date -d bekommen könnte, um sie damit umzuwandeln, und wurde von einem wunderschönen Zitat begrüßt (nachfolgende deutsche Übersetzung mittels DeepL):
            • Unsere zeitlichen Maßeinheiten, von Sekunden bis hin zu Monaten, sind so kompliziert, asymmetrisch und disjunkt, dass ein kohärentes mentales Rechnen in der Zeit nahezu unmöglich ist. In der Tat, hätte sich ein tyrannischer Gott ausgedacht, unseren Geist an die Zeit zu versklaven, um es uns nahezu unmöglich zu machen, der Unterwerfung unter durchweichte Routinen und unangenehme Überraschungen zu entkommen, hätte er kaum etwas Besseres tun können, als uns unser gegenwärtiges System zu überliefern. Es ist wie ein Satz trapezförmiger Bauklötze, ohne vertikale oder horizontale Flächen, wie eine Sprache, in der der einfachste Gedanke verschnörkelte Konstruktionen, nutzlose Partikel und langatmige Umschreibungen erfordert. Im Gegensatz zu den erfolgreicheren Mustern der Sprache und der Wissenschaft, die es uns ermöglichen, Eindrücken kühn oder zumindest nüchtern zu begegnen, fördert unser System der zeitlichen Berechnung stillschweigend und beharrlich unseren Terror vor der Zeit.

              ... Es ist, als ob Architekten die Länge in Fuß, die Breite in Metern und die Höhe in Ellen messen müssten; als ob grundlegende Bedienungsanleitungen die Kenntnis von fünf verschiedenen Sprachen erfordern würden. Kein Wunder also, dass wir in unsere eigene unmittelbare Vergangenheit oder Zukunft, auf den letzten Dienstag oder den Sonntag in einer Woche, oft mit einem Gefühl hilfloser Verwirrung blicken. ...

            • im Gespräch erwähnt: ASCII-Folge von Request for Comments

              ...more
              View all episodesView all episodes
              Download on the App Store

              SchlüsseltechnologieBy Xyrillian Noises


              More shows like Schlüsseltechnologie

              View all
              Chaosradio by Chaos Computer Club Berlin

              Chaosradio

              7 Listeners

              Computer und Kommunikation by Deutschlandfunk

              Computer und Kommunikation

              10 Listeners

              Bits und so by Undsoversum GmbH

              Bits und so

              23 Listeners

              WRINT: Wer redet ist nicht tot by Holger Klein

              WRINT: Wer redet ist nicht tot

              16 Listeners

              Logbuch:Netzpolitik by Metaebene Personal Media - Tim Pritlove

              Logbuch:Netzpolitik

              7 Listeners

              Sternengeschichten by Florian Freistetter

              Sternengeschichten

              44 Listeners

              Methodisch inkorrekt! by Methodisch inkorrekt!

              Methodisch inkorrekt!

              17 Listeners

              c’t uplink - der IT-Podcast aus Nerdistan by c’t Magazin

              c’t uplink - der IT-Podcast aus Nerdistan

              5 Listeners

              Geschichten aus der Geschichte by Richard Hemmer und Daniel Meßner

              Geschichten aus der Geschichte

              189 Listeners

              heiseshow by heise online

              heiseshow

              2 Listeners

              Übermedien by Übermedien

              Übermedien

              3 Listeners

              Die Wochendämmerung - Der stabile Wochenrückblick by Katrin Rönicke und Holger Klein (hauseins)

              Die Wochendämmerung - Der stabile Wochenrückblick

              14 Listeners

              UKW by Metaebene Personal Media - Tim Pritlove

              UKW

              1 Listeners

              KI-Update – ein heise-Podcast by Isabel Grünewald, heise online

              KI-Update – ein heise-Podcast

              6 Listeners

              Geschichten aus der Mathematik by detektor.fm – Das Podcast-Radio

              Geschichten aus der Mathematik

              1 Listeners