Das Datenformat mag in der Programmiersprache einfach zu sein. Aber wie in der Datei speichern. Binär, serialisiert, CSV...
Warum nicht per Python ein Wert in die Datenbank speichern.
Z.B mit einer Tabelle mit 3 Spalten:
id: Integer mit Autoincrement
zeitpunkt: Datetime
vorfall: integer oder Varchar je nachdem was gespeichert werden soll
Anzulegen mit den Befehl:
CREATE TABLE `vorfaelle` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`zeitpunkt` datetime DEFAULT NULL,
`vorfall` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
EinVorfall wird mit dem folgenden SQL-Befehl eingetragen:
insert ('zeitpunkt','vorfall') values (now(), x); x steht hier für den "Vorfall", z.B. Welche Taste gedrückt wurde usw.
In Python sollte das mit 10-20 Zeilen Code realisierbar sein. Oder?
Das schöne ist das Mysql mit dem Datetime Typ die ganze Zeitproblematik erledigt. Im Insert-Befehl steht z.B. now(). Dies ist ein Befehl an Mysql die aktuelle Zeit (Datum+Uhrzeit) einzufügen. Das Script muss also weder die Zeit noch das Datenformat kennen also gar nicht kennen.
Beim Abfragen stehen dann jede Menge Ausgabeformate und funktionen zur Verfügung. Sogar Tagesweise die Anzahl der Vorfälle zu summieren ist ein Kinderspiel.
Z.B. liefert der folgende Befehl drei Werte aus der Tabelle Jahr, Tag im Jahr und die Anzahl der Vorfälle an diesem Tag:
select year(zeitpunkt) as jahr, dayofyear(zeitpunkt) as tagimjahr, count(*) as anzvorfaelle from vorfaelle group by jahr,tagimjahr
Alles ohne Schaltjahr, Zeitzone usw. zu berücksichtigen.
Im Browser läst sich ein automatisches neuladen mit HTML realisieren. Im Head der Seite vorfaelle.html einfach z.B. <meta http-equiv="refresh" content="5; URL=
http://meine-domain.de/vorfaelle.html"> eintragen und schon wird die Adresse nach 5 Sekunden neu geladen.
tommylee2k hatte es so in etwa auch vorgeschlagen.
Hier mal ein Linz zu einem ähnlichen Projekt/Tutorial
https://tutorials-raspberrypi.de/lokale ... tenlogger/