Moin,
ich habe mal etwas zusammen gebastelt, es ist erst der Anfang und bevor versuche das in eine neue Datei/Tabelle schreibe, frage ich, ob das, was ich bereits
habe, überhaupt ein bißchen richtig ist. Es fehlt natürlich noch die Filterung nach den Typ und die Koordinaten.
Aber ich bin erstmal froh, wenn mit den Daten eine neue Datei für den aktuellen Tag erstellt bekomme und bevor ich da weiter mache, freu ich mich über Tipps, Anregungen, Fehler, etc.
Weitere Fragen sind noch :
1. Ist die Ausführung, das die Dateinamen erstellt werden so korrekt?
2. Wie kann ich in Zeile 47 das Datum dynamisieren, oben habe ich das aktuelle Datum definiert, bei der SQL Filterung wollte ich es einfügen (ein Beispiel habe ich hier im Forum gefunden),
das ergibt aber einen Fehler und andere Beispiele im www funktionieren auch nicht, da mach ich was falsch. Und direkte SQL Datumsbefehle liefern keine Ergebnisse, also
das Ergebnis bleibt leer.
3. Wenn ich mehrere sqllite Verbindungen habe, kann ich die auch alle mit einen Befehl (commit und close) beenden/schließen?
Ansonsten bzgl. Spatialite habe ich alle "42 Installationsschritte/Dateien herunterladen" durchgeführt, leider aber noch nicht ans laufen bekommen, die exe Datei wird nicht erstellt.
Gefunden habe ich aber zwei andere Programme, das eine Programm (eigentlich beide) hat auch eine SQLITE-Anbindung, eine präzise Karte von Niedersachsen habe ich ebenfalls gefunden und kann dort auch die Landkreise und auch Gemeindegrenzen einfügen. Ich konnte auch eine SQlite erstellen, leider war die leer, da muss ich noch weiter probieren.
Das sei nur mal am Rande erwähnt
Viele Grüße
Norbert
Code: Alles auswählen
import os
import sqlite3
import datetime
from datetime import datetime, timedelta
# Heute JahrMonatTag festlegen
aktuelles_datum = datetime.now().strftime('%Y%m%d')
print("heute", aktuelles_datum)
# Datum Vortag
heute = datetime.now()
gestern = heute - timedelta (days=1)
print ("vortag", gestern.strftime ('%Y%m%d'))
# Datum Heute JahrMonatTag NGX Datenbank Format
ngx_heute = datetime.now().strftime('%Y-%m-%d')
print("ngx_heute", ngx_heute)
# Datum Vortag NGX Datenbank Format
heute = datetime.now()
ngx_gestern = heute - timedelta (days=1)
print ("ngx_vortag", ngx_gestern.strftime ('%Y-%m-%d'))
# Dateinamen mit Datum erstellen
dateiname1 = "NGXDS_" + aktuelles_datum + ".db3"
dateiname2 = "ngx_yest.db3"
dateiname3 = "ngx_today.db3"
dateiname4 = "ngx_month.db3"
dateiname5 = "ngx_year.db3"
print("test dateiname:" , dateiname1)
# Verbindung zur Datenbank herstellen
verbindung1 = sqlite3.connect(dateiname1)
# Neue Datenbank erstellen
# für gestern
verbindung2 = sqlite3.connect(dateiname2)
# für heute
verbindung3 = sqlite3.connect(dateiname3)
print("test verbindung1:" , verbindung1 )
print("test verbindung2:" , verbindung2 )
print("test verbindung3:" , verbindung3 )
# Cursor-Objekt erstellen und SQL-Abfrage zum Auslesen der Daten aus der aktuellen Datenbank
# Daten filtern
cursor = verbindung1.cursor()
cursor.execute ('SELECT SUBSTRING (datetime_utc, 1, 10), latitude, longitude, type FROM NGXLIGHTNING WHERE datetime_utc LIKE "2023-09-23%"')
daten = cursor.fetchall()
print("test ausgabe daten:" , daten )
# Aktionen bestätigen und Verbindung schließen
verbindung1.commit()
verbindung2.commit()
verbindung3.commit()
verbindung1.close()
verbindung2.close()
verbindung3.close()
