SQLite3 DB Im-Export von bestimmten Spalten einer Tabelle weewx.sdb

Antwort erstellen

Bestätigungscode
Gib den Code genau so ein, wie du ihn siehst; Groß- und Kleinschreibung wird nicht unterschieden.
Smilies
:D :) :( :o :shock: :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: SQLite3 DB Im-Export von bestimmten Spalten einer Tabelle weewx.sdb

Re: SQLite3 DB Im-Export von bestimmten Spalten einer Tabelle weewx.sdb [erledigt]

von JoachimF » 16 Aug 2022 11:34

@Werner,
das Überspielen der Daten aus der Sicherungsdatei gestaltet sich fast unmöglich, weil, ich hatte es vergessen, der Sicherungsraspi alle 60 sec. aufzeichnet und der 2-Instanzen alle 120 sec.. Die Anzahl passt nicht und dann stimmen die dateTime's der beiden DB's auch nicht.
Die Datensätze von 6 betroffenen Spalten über ca. 7 Tage manuell zu bearbeiten, werde ich nicht machen.

Re: SQLite3 DB Im-Export von bestimmten Spalten einer Tabelle weewx.sdb

von Werner » 15 Aug 2022 19:20

@Joachim,

SELECT "barometer","rain" FROM "archive" WHERE "dateTime" > '1659729600' AND "dateTime" < '1660459980'
Ich würde vorher alle nicht zu modifizierenden Datensätze aus der Datenbank löschen (Beispiel),
Tagestabelle dabei nicht vergessen:

Code: Alles auswählen

DELETE FROM archive WHERE datetime(datetime,'unixepoch','localtime') < '2022-07-20 18:05:00';
DELETE FROM archive WHERE datetime(datetime,'unixepoch','localtime') > ' 2022-04-09 23:55:00';
DELETE FROM archive_day_barometer WHERE datetime(datetime,'unixepoch','localtime') < '2022-07-20 18:05:00';
DELETE FROM archive_day_barometer WHERE datetime(datetime,'unixepoch','localtime') > '2022-04-09 23:55:00';
Wie schon erwähnt bietet sich dazu "DB Browser for SQLite" an.
Hier kannst Du die Tabellen (auswählbar welche) im SQL-Format exportieren.
In der dabei erzeugten SQL-Datei die Statements "INSERT" durch "REPLACE" ersetzen und dann in die andere Daten importieren.
... und immer mit BACKUP arbeiten ;)

Im RasPI und Weewx kann man nur neuere Werte importieren, vorhandene ersetzen ist mir nicht bekannt,
könnte eventuell mit der V4.8.0 gehen ?

Wichtig ist bei Weewx auch, wenn man die Datenbank "extern" modifiziert:
Eventuell zu berechnente Werte (wie Windchill, Taupunkt ...) neu berechnen lassen, sonst fehlen sie.
Du musst auch für den geänderten Importierten Zeitraum die täglichen Werte noch aktualisieren:

Code: Alles auswählen

sudo wee_database --config=/etc/weewx/weewx.conf --calc-missing --from=2022-??-?? --to=2022-??-??

sudo wee_database --config=/etc/weewx/weewx.conf --rebuild-daily --from=2022-??-?? --to=2022-??-??
--config= eventuell anpassen! und natürlich auch --from= und --to=

SQLite3 DB Im-Export von bestimmten Spalten einer Tabelle weewx.sdb

von JoachimF » 15 Aug 2022 08:59

Ich möchte von einer 'Sicherungs-DB' bestimmte Spalten einer Tabelle innerhalb eines bestimmten Zeitraums exportieren, wobei ich nicht weis wie ich das Exportieren zu machen habe.
Die Abfrage sieht wie folgt aus:
SELECT "barometer","rain" FROM "archive" WHERE "dateTime" > '1659729600' AND "dateTime" < '1660459980'

Falls ein Export (als csv Datei) geht, kann ich diese Datei dann ich die richte DB importieren,
d.h. die falschen Werte überschreiben ?
Oder ist dieses Unterfangen so überhaupt nicht möglich?

Oder muss ich den kompletten Zeitabschnitt aus der Sicherungs-DB exportieren,
dann diesen Zeitabschnitt der richtigen DB komplett löschen und anschließend den Export importieren?

Nach oben