[gelöst]Datensatz aus Textdatei löschen
Moderator: Moderatoren
[gelöst]Datensatz aus Textdatei löschen
Hallo zusammen,
führe Daten aus unterschiedlichen Calc-Dateien in eine Textdatei im CSV-Format zusammen (Strichpunkt als Datentrenner).
R;3799;04.12.2017 19:58:20;P;Fr.;Hans Muster;Schalhaldenstr. 113;;88348 Bad Wutzgau;;
A;3844;22.02.2017 11:42:38;W;Hr.;Max Mustermann;Karl Straße 86;;55128 Mainz;;
Da ich die Datei nicht immer neu aufbaue sondern Veränderungen update, müsste ich den ein oder anderen Satz auch wieder löschen können. Weis jemand wie das gehen könnte - habe in keiner Dokumentation etwas hierzu gefunden
Danke
führe Daten aus unterschiedlichen Calc-Dateien in eine Textdatei im CSV-Format zusammen (Strichpunkt als Datentrenner).
R;3799;04.12.2017 19:58:20;P;Fr.;Hans Muster;Schalhaldenstr. 113;;88348 Bad Wutzgau;;
A;3844;22.02.2017 11:42:38;W;Hr.;Max Mustermann;Karl Straße 86;;55128 Mainz;;
Da ich die Datei nicht immer neu aufbaue sondern Veränderungen update, müsste ich den ein oder anderen Satz auch wieder löschen können. Weis jemand wie das gehen könnte - habe in keiner Dokumentation etwas hierzu gefunden
Danke
Zuletzt geändert von Postbyme am So, 08.04.2018 21:44, insgesamt 1-mal geändert.
-------------------------------------------------------
Windows 11 22H2 /Libre Office 7.3.6.2 (x64)
Windows 11 22H2 /Libre Office 7.3.6.2 (x64)
Re: Datensatz aus Textdatei löschen
Moin, du schreibst hier in der Forumskategorie Makros und allgemeine Programmierung. Warum?
Oder anders, du läßt uns völlig im Nebel stehen, es sieht so aus, als könntest du Daten aus unterschiedlichen Dateien zusammenführen, weißt aber nicht wie du da eine Zeile löschst?
Klingt für mich nach Troll.
Gruß R
Das ist ja schön, wie machst du denn das?
Und nochmal, wie machst du denn das?
Oder anders, du läßt uns völlig im Nebel stehen, es sieht so aus, als könntest du Daten aus unterschiedlichen Dateien zusammenführen, weißt aber nicht wie du da eine Zeile löschst?
Klingt für mich nach Troll.
Gruß R
- miniKasse MMove 1.0.6 Base Videotutorial
- Windows 10: AOO, LO Linux Mint: AOO, LO
Re: Datensatz aus Textdatei löschen
Hallo,
nix Troll
Ich lese per Schleife alle -*.ods Dateien eines Verzeichnisses, öffne diese, lese diverse Feldinhalte aus und schreibe diese dann in einen Datensatz in eine einfache Textdatei raus.
In der Textdatei speichere ich mir zur gelesenen ods-Datei auch deren letztes Dateiänderungsdatum. Bei einem nächsten Lauf (Tage später) öffne ich nur noch die ODS-Files die ein neueres Dateiänderungsdatum haben. Wenn es die Ods-Datei nicht mehr gibt, möchte ich jetzt dann auch den zugehörigen Satz in der Textdatei löschen - und hier ist mein Problem.
nix Troll
Ich lese per Schleife alle -*.ods Dateien eines Verzeichnisses, öffne diese, lese diverse Feldinhalte aus und schreibe diese dann in einen Datensatz in eine einfache Textdatei raus.
In der Textdatei speichere ich mir zur gelesenen ods-Datei auch deren letztes Dateiänderungsdatum. Bei einem nächsten Lauf (Tage später) öffne ich nur noch die ODS-Files die ein neueres Dateiänderungsdatum haben. Wenn es die Ods-Datei nicht mehr gibt, möchte ich jetzt dann auch den zugehörigen Satz in der Textdatei löschen - und hier ist mein Problem.
-------------------------------------------------------
Windows 11 22H2 /Libre Office 7.3.6.2 (x64)
Windows 11 22H2 /Libre Office 7.3.6.2 (x64)
Re: Datensatz aus Textdatei löschen
Tja, dann kann das wohl nur klappen, wenn du jedem Datensatz den Namen/Speicherdatum oder ein anderes eindeutiges Attribut der Ursprungsdatei zufügst. Existiert die Datei nicht mehr, wird die Zeile nicht in die UPDATE-Datei kopiert. Also zwei Schritte
1.) Alte Datei durchforsten, nur aktuelle Zeilen in neue Datei übernehmen
2.) Wie gehabt, Updates an neue Datei dranhängen.
Gruß R
1.) Alte Datei durchforsten, nur aktuelle Zeilen in neue Datei übernehmen
2.) Wie gehabt, Updates an neue Datei dranhängen.
Gruß R
- miniKasse MMove 1.0.6 Base Videotutorial
- Windows 10: AOO, LO Linux Mint: AOO, LO
Re: Datensatz aus Textdatei löschen
Deinen Hinweis verstehe ich nicht! Ich hole nochmal aus:
Ich möchte diese permanent aktualisierte Textdatei (=CSV-Datei) nutzen um Daten nach PHP zu überführen.
Ein Datenupdate in der Textdatei möchte ich so durchführen, dass ich den Datensatz in der Textdatei lösche und neu aufgebaut am Ende der Datei wieder anfüge. Also das Löschen ist mein Problem. So komisch wie es klingt, aber ich finde nirgends einen Hinweis wie ich einen Datensatz aus einer Textdatei löschen kann.
Du hast eine Datei mit 5 Namen untereinander. Wie löscht du Zeile 3 mit Max Mustermann?
Ich möchte diese permanent aktualisierte Textdatei (=CSV-Datei) nutzen um Daten nach PHP zu überführen.
Ein Datenupdate in der Textdatei möchte ich so durchführen, dass ich den Datensatz in der Textdatei lösche und neu aufgebaut am Ende der Datei wieder anfüge. Also das Löschen ist mein Problem. So komisch wie es klingt, aber ich finde nirgends einen Hinweis wie ich einen Datensatz aus einer Textdatei löschen kann.
Du hast eine Datei mit 5 Namen untereinander. Wie löscht du Zeile 3 mit Max Mustermann?
-------------------------------------------------------
Windows 11 22H2 /Libre Office 7.3.6.2 (x64)
Windows 11 22H2 /Libre Office 7.3.6.2 (x64)
Re: Datensatz aus Textdatei löschen
... indem ich Zeile 1 und 2 sowie Zeile 4 und 5 in eine neue Datei schreibe...
- miniKasse MMove 1.0.6 Base Videotutorial
- Windows 10: AOO, LO Linux Mint: AOO, LO
Re: Datensatz aus Textdatei löschen
Hallo,
ok - verstanden - löschen geht nicht. Leider sind es halt immer 15000 Datensätze die dann neu geschrieben werden müssen.
Dann könnte ich vielleicht die alten Datensätze in der Textdatei mit xxx en überschreiben / ungültig machen und die neuen Sätzen anfügen? Überschreiben geht ja an der Stelle wo der Dateizeiger sitzt, oder?
ok - verstanden - löschen geht nicht. Leider sind es halt immer 15000 Datensätze die dann neu geschrieben werden müssen.
Dann könnte ich vielleicht die alten Datensätze in der Textdatei mit xxx en überschreiben / ungültig machen und die neuen Sätzen anfügen? Überschreiben geht ja an der Stelle wo der Dateizeiger sitzt, oder?
-------------------------------------------------------
Windows 11 22H2 /Libre Office 7.3.6.2 (x64)
Windows 11 22H2 /Libre Office 7.3.6.2 (x64)
Re: Datensatz aus Textdatei löschen
Ich frage mich warum du das alles so kompliziert machst.
Ich würde alle Daten in einer Calc-Datei oder einer Datenbank halten, da kann man einfügen, löschen sortieren.
Eine .csv daraus zu exportieren ist kein Problem.
Geht auch per Makro.
Gruß R
Ich würde alle Daten in einer Calc-Datei oder einer Datenbank halten, da kann man einfügen, löschen sortieren.
Eine .csv daraus zu exportieren ist kein Problem.
Geht auch per Makro.
Gruß R
- miniKasse MMove 1.0.6 Base Videotutorial
- Windows 10: AOO, LO Linux Mint: AOO, LO
Re: Datensatz aus Textdatei löschen
Ja der Tipp ist gut jedoch möchte ich permanent von PHP aus auf neueste Daten zugreifen können. Ab und zu einmal ein CSV-Export aus einer Tabelle reicht nicht und wäre bei 15000 Sätzen sicher auch mit Laufzeiten verbunden.
-------------------------------------------------------
Windows 11 22H2 /Libre Office 7.3.6.2 (x64)
Windows 11 22H2 /Libre Office 7.3.6.2 (x64)
Re: Datensatz aus Textdatei löschen
Du weißt, dass man mit Calc .csv Dateien öffnen und bearbeiten, dann wieder als .csv speichern kann?
Habe gerade mit meinem 2009er 32-Bit Laptop eine .csv mit 20000 Zeilen aus Calc gespeichert, dauert eine Sekunde.
Gruß R
Habe gerade mit meinem 2009er 32-Bit Laptop eine .csv mit 20000 Zeilen aus Calc gespeichert, dauert eine Sekunde.
Gruß R
- miniKasse MMove 1.0.6 Base Videotutorial
- Windows 10: AOO, LO Linux Mint: AOO, LO
Re: Datensatz aus Textdatei löschen
habe es gerade auch mit 5000 Sätzen gemacht. Geht wie der Blitz.
OK ich bleib in OO und gehe dann über CSV-Export.
Vielen Dank
OK ich bleib in OO und gehe dann über CSV-Export.
Vielen Dank
-------------------------------------------------------
Windows 11 22H2 /Libre Office 7.3.6.2 (x64)
Windows 11 22H2 /Libre Office 7.3.6.2 (x64)
Re: Datensatz aus Textdatei löschen
Hi,
dies kann helfen CSV-Filter-Optionen (unten die Zeile args1(1).Value = "59,34,76,1,,0,false,true,true") wenn du die .csv per Makro öffnen möchtest, ein Beispiel:
Speichern geht dann so:
Gruß R
dies kann helfen CSV-Filter-Optionen (unten die Zeile args1(1).Value = "59,34,76,1,,0,false,true,true") wenn du die .csv per Makro öffnen möchtest, ein Beispiel:
Code: Alles auswählen
Sub LOAD_CSV
dim args1(1) as new com.sun.star.beans.PropertyValue
args1(0).Name = "FilterName"
args1(0).Value = "Text - txt - csv (StarCalc)"
args1(1).Name = "FilterOptions"
args1(1).Value = "59,34,76,1,,0,false,true,true"
sURL = "file:///C:/Users/<USERNAME>/Desktop/TESTDATEN.csv"
odoc = StarDesktop.loadComponentFromURL(sURL,"_blank", 0, args1)
end sub
Code: Alles auswählen
Sub SAVE_CSV
ThisComponent.store
end sub
- miniKasse MMove 1.0.6 Base Videotutorial
- Windows 10: AOO, LO Linux Mint: AOO, LO
Re: Datensatz aus Textdatei löschen
Ja das klingt genau richtig für meine Anwendung : Import der csv als Calc / Daten updaten / wieder als csv abspeichern.Du weißt, dass man mit Calc .csv Dateien öffnen und bearbeiten, dann wieder als .csv speichern kann?
Über die Jahre sind Rechnungs-ods-Dateien (mit 1...n Rechnungspositionen) zusammengekommen. Diese Daten möchte ich jetzt quasi als (csv-)Datenbank zusammenfassen für unterschiedliche Auswertungen und wie bereits geschrieben, auch für PHP zur Verfügung haben.
Gruss winni
-------------------------------------------------------
Windows 11 22H2 /Libre Office 7.3.6.2 (x64)
Windows 11 22H2 /Libre Office 7.3.6.2 (x64)