Diverse Fehlermeldungen beim anlegen einer sqlite3 Datenbank

Installation und Anwendung von Datenbankschnittstellen wie SQLite, PostgreSQL, MariaDB/MySQL, der DB-API 2.0 und sonstigen Datenbanksystemen.
Antworten
Der Ahnungslose
User
Beiträge: 1
Registriert: Samstag 15. April 2023, 15:48

Mittels eines Raspberry Pi und dem SenseHat möchte ich Wetterdaten sammeln und in einer Datenbank speichern um sie später aufzubereiten.
Mit dem Python3 Handbuch von Rheinwerk Verlag habe ich folgenden Code geschrieben.


import sqlite3

connection=sqlite3.connect("wetterdaten.db")#Temperatur, Luftfeuchtigkeit, Luftdruck
cursor=connection.cursor()

CREATE TABLE wetterdaten (
datum DATE, uhrzeit TIME,
temperatur INTERGER, luftfeuchtigkeit INTERGER, luftdruck INTERGER
)

cursor.execute("""CREATE TABLE wetterdaten(datum DATE, uhrzeit TIME,
temperatur INTERGER, luftfeuchtigkeit INTERGER, luftdruck INTERGER)""")

INSERT INTO (wetterdaten), VALUES(
2023/1/1, 12/10/30, 24, 76, 1040
)
cursor.execute("""INSERT INTO wetterdaten VALUES(
2023/1/1, 12/10/30, 24, 76, 1040)""")
connection.commit()

Es werden überwiegend Syntax-Fehler gemeldet.
Den Code habe ich 1:1 aus dem Buch übernommen und für mein Projekt angepasst.
Von einem Python VHS-Grundkurs abgesehen habe ich nur professionelle CNC Kenntnisse, was einem bei Python nicht weiter hilft.
Ich denke das es sich lediglich um typische Anfängerfehler handelt.
Sollte es noch einfachere Lösungen für das Daten sammeln und aufbereiten geben, wäre ich auch dafür sehr dankbar. Wobei ich finde das dieser Code schon recht übersichtlich ist, vom Syntax mal abgesehen.

Euch Allen einen schönen Tag noch und möge die Macht mit euch sein
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

Bitte Code Tags benutzen, damit die in Python relevanten Einrückungen erhalten bleiben. Und wenn du Fehler bekommst, die bitte auch posten. Auch in Code Tags.

So wie es aussieht, hast du einfach die SQL Anweisungen nochmal in den Code kopiert. Damit kann Python natürlich nix anfangen.

Das nächste problem wird dein relativer Pfad zur Datenbank werden. Sobald das Skript von zb cron gestartet werden wird, fliegt dir das um die Ohren. Da muss also ein absoluter Pfad hin.

Zu guter letzt: das ist doch alles schon of gemacht worden. Gibt’s da keine fertigen Projekte, zb mit Grafana etc pp? Da sollte etwas auffindbar sein.
Sirius3
User
Beiträge: 17754
Registriert: Sonntag 21. Oktober 2012, 17:20

Das Buch wird wohl die SQL-Statements nochmal extra erklärt haben, das ist aber nicht alles Python-Code.
Datum und Uhrzeit sollte ein TIMESTAMP-Feld sein und nicht getrennt.
Apropos Uhrzeit und Datum, das könnte entweder ein String im ISO-Format sein, oder ein Unix-Timestamp, oder man richtet es sich gleich richtig ein, so dass man sqlite auch mit datetime-Objekten füttern kann.
Benutzeravatar
grubenfox
User
Beiträge: 432
Registriert: Freitag 2. Dezember 2022, 15:49

__deets__ hat geschrieben: Samstag 15. April 2023, 16:33 Zu guter letzt: das ist doch alles schon of gemacht worden. Gibt’s da keine fertigen Projekte, zb mit Grafana etc pp? Da sollte etwas auffindbar sein.
Also hier hatte sich der geneigte Hobby-Python-Programmierer für weewx http://www.weewx.com/ entschieden.... läuft seit 2021 auf einem Raspi. Dafür hatte ich mich wohl entschieden weil es das erste in Python programmierte System war, welches ich bei meiner Suche fand. Aber vielleicht hatte ich auch gar nicht direkt danach gesucht, sondern war nur auf der Suche nach interessanten Python-Projekten.
Theoretisch ununterbrochen, aber es gab ein paar Strom-bedingte Unterbrechungen. Aktuell [heute um 01:53] sagt mir weewx
Server uptime 137 days, 6 hours, 23 minutes
WeeWX uptime 137 days, 6 hours, 23 minutes
Nach der Einrichtung hatte ich überlegt ob ich mich mal in die Sourcen vertiefe: zum einen zwecks Übersetzung der Oberfläche (insbesondere bei den astronomischen Texten), zum anderen auch bei den astronomischen Routinen um die angezeigten Daten für Sonne und Mond (Auf-/Untergangszeiten, Phasen usw.) auch noch um z.B. die Daten der Venus zu ergänzen. Man will ja wissen wann die Venus wieder als Morgen bzw. Abendstern gut zu sehen ist. Zum dritten müsste ich mir mal die Berechnung vom "Heat Index" raussuchen. Bei vielen Kurven kann man ja gewisse Zusammenhänge gut mit bloßem Auge erkennen: Wind Chill hängt von Außentemperatur und Windgeschwindigkeit ab, aber beim Heat Index zeigt die Kurve gelegentlich spontane Sprünge die ich in anderen Kurven nicht nachvollziehen kann. Vermutlich fließen da, wenn irgendwelche Messwerte bestimmte Grenzwerte über/unterschreiten zusätzlich Faktoren mit in die Berechnung ein.

Hier https://github.com/sbsrouteur/weewx-PiSenseHat gibt es auch noch einen Treiber (100% Pythoncode) der die Daten vom Sense Hat abholen soll. Von meiner Seite ungetestet, wegen nicht vorhandenem SenseHat. Ich hole mir die Daten ganz klassisch von einer Wetterstation die per USB am Raspi hängt.
Benutzeravatar
ThomasL
User
Beiträge: 1366
Registriert: Montag 14. Mai 2018, 14:44
Wohnort: Kreis Unna NRW

Bist du dir sicher, dass da im Buch INTERGER steht?
Ich vermute mal da steht INTEGER.
Ich bin Pazifist und greife niemanden an, auch nicht mit Worten.
Für alle meine Code Beispiele gilt: "There is always a better way."
https://projecteuler.net/profile/Brotherluii.png
Antworten