Python + csv modul

  • Guten Tag,

    habe mir einen ESP8266 (hier d1-mini) mit einem DHT22 zum Sensor aufgebaut. Er sendet die Messwerte an einen SBC (Rasberry pi 3+ oder OrangePI PC+).

    Crontab gesteuert schreibt Python in eine CSV Datei den Messwert alle 10 Minuten in eine neue Zeile.

    Nach 24 Stunden beträgt die Datenmenge etwa 6kB. Mit 136 Zeilen. Im Monat mit 30 Tagen also 4080 Zeilen.

    Nun würde ich der besseren Übersicht und für evtl. Auswertung gerne automatisch nach Ultimo um 00:00:00 jeden Monat die Datei teilen und mit Monat und Jahr als Dateiname speichern. Die letzte Messung wäre im laufenden Monat um 23:50:00 Uhr und die erste Messung in der neuen Datei

    um 00:00:00 Uhr.

    Manuell ist das kein Problem.

    „Die menschliche Faulheit bringt neue Entwicklungen hervor.“

    Könnte Python’s CSV Modul das auch automatisch? Wenn ja wie?

    Ich bin für jeden Rat offen.

    Mit freundlichen Grüßen

    Hans-Jürgen

  • Hallo,

    such' mal im Internet nach "python logging in csv", dann kriegst du bei den ersten Treffern div. Anleitung, wie du eine CSV-Datei und das logging Modul inkl. Logrotation paarst.

    Aber warum verwendest du keine Datenbank wie SQLite? Damit ist das Abfragen einfacher und die brauchst dir auch bei so einer einfachen Datenstruktur keine Gedenken wegen der Größe machen. Auch SQLite kann mit ein paar Millionen Zeilen umgehen.

    Gruß, noisefloor

  • Danke für die schnellen Antworten.

    Den erste Hinweis werde ich mal ausprobieren. Mal sehen ob ich es packe. Danke an Tell.

    Der Hinweis von noisefloor zu „python logging Modul inkl. Logrotation paarst“ werde ich mir nächstens mal ansehen. Habe mir gerade von github was runter geladen.

    Mit Datenbanken ob maria, lighttpd oder sqllite habe ich so meine Installationsschwierigkeiten gehabt, so dass ich danach zu CSV als Ausweichmöglichkeit gekommen bin.

    Eigentlich reicht mir die CSV Datei schon, wenn ich das auch noch mit der automatischen Speicherung mit gewünschten Dateinamen hinbekomme könnte schon alles gut sein.

    Mit freundlichen Grüßen

    Hans-Jürgen

  • Hallo,

    Zitat

    Mit Datenbanken ob maria, lighttpd oder sqllite habe ich so meine Installationsschwierigkeiten gehabt, so dass ich danach zu CSV als Ausweichmöglichkeit gekommen bin.

    SQLite hat Python an Bord, d.h. wenn du Python installiert hast, hast du auch SQLite und das Python sqlite3 Modul automatisch an Bord. Ohne zusätzliche Installation.

    Doku: https://docs.python.org/3/library/sqlite3.html

    Gruß, noisefloor

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!