❤️ Helfen Sie noch heute, unser LibreOffice Forum zu erhalten! ❤️
Unterstützen Sie das LibreOffice-Forum und helfen Sie uns, unser Ziel für 2025 zu erreichen!

🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱


❤️ DANKE >> << DANKE ❤️

>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

CSV-Import/Export

CALC ist die Tabellenkalkulation, die Sie immer wollten.
Antworten
Robbie
Beiträge: 3
Registriert: Do 2. Mai 2019, 13:37

CSV-Import/Export

Beitrag von Robbie » Do 2. Mai 2019, 14:54

gelöst



Hallo, leider konnte ich zu meinem Problem hier keine Lösung finden, daher versuche ich es mal mit einem neuen Eintrag.

Ich habe eine csv-Datei, die durch ein GeoInformationsSystem (GIS) erzeugt und nach der Bearbeitung dort auch wieder eingelesen wird.

Beispielhafter Aufbau der Datei:
Text 1|Text 2| |Text 4| | |Text 7|Text 8|

Das Pipe-Zeichen dient dabei als Feldtrenner. Die "Spaltenanzahl" (insg. 38) ist fest vorgegeben.
Wenn ein Feld im GIS nicht belegt wurde, so wird hier ein Leerzeichen ausgegeben.
Es folgt auf den Text (oder das Leerzeichen) immer ein Pipe-Zeichen, auch am Ende der Zeile.

Der Textimport sowie das Bearbeiten stellt kein Problem dar, jedoch der Export. Egal welche Einstellungen ich wähle, es wird das letzte Pipe-Zeichen nicht übernommen. Dies hat zur Folge, dass beim Einlesen im GIS das letzte Feld (im Beispiel 'Text 8') nicht erkannt und somit nicht übertragen wird.

Sicher gibt es da eine Lösung über Macros, diese sind jedoch bei uns nicht zugelassen und fallen somit raus.
Hat sonst jemand eine Idee, wie ich diese Dateien vom Aufbau so erhalte, wie ich sie ursprünglich importiert habe?

Mfg Robbie
Zuletzt geändert von Robbie am Do 2. Mai 2019, 16:17, insgesamt 1-mal geändert.

Pit Zyclade
* LO-Experte *
Beiträge: 3060
Registriert: Mo 12. Nov 2012, 16:59

Re: CSV-Import/Export

Beitrag von Pit Zyclade » Do 2. Mai 2019, 15:55

wenn | der Feldtrenner ist, legt er ja auch nur die Feldtrennung fest. Das Zeilenende hingegen wird durch das Zeilenende bestimmt. Beim Import wird das Feld danach auch noch angesprochen, aber bleibt leer... Den Export kann man vielleicht dann auf 39 Felder triksen?
LO 24.8.7.2 (X86_64) / Windows 11 64bit
Problem gelöst? Dann bitte im Betreff der ersten Nachricht [gelöst] voranstellen.

Robbie
Beiträge: 3
Registriert: Do 2. Mai 2019, 13:37

Re: CSV-Import/Export

Beitrag von Robbie » Do 2. Mai 2019, 16:16

So was ähnliches hab ich vermutet. Am Ende der Zeile gibt es ja eigentlich nichts mehr zu trennen.

Tricksen ist an dieser Stelle sicher möglich, gestaltet sich aber schwierig, da viele Mitarbeiter mit diesem Werkzeug richtig umgehen können müssten. Und leider fällt es beim Einlesen im GIS nicht auf, ob das letzte Feld übernommen wurde oder nicht (ist recht selten belegt). Wer da also nicht drauf achtet, erzeugt evtl. unbeabsichtigt fehlerhafte Daten.

Alles nicht so schön, aber...

... heißt für mich, mal an den Softwarehersteller heranzutreten. Entweder gültiges (logisches) Format ausgeben oder beim Einlesen der Datei das letzte Pipe-Zeichen nicht zu fordern.


Jedenfalls vielen Dank für die schnelle Antwort :)

Pit Zyclade
* LO-Experte *
Beiträge: 3060
Registriert: Mo 12. Nov 2012, 16:59

Re: CSV-Import/Export

Beitrag von Pit Zyclade » Do 2. Mai 2019, 17:28

Du liest doch in calc ein?
Dann definiere nach dem Import und der Bearbeitung einen Druckbereich (Format->Druckbereich->) mit Breite 39, d.h. von A bis AM in der Länge der Füllung.
Dann sichere unter CSV, Filtereinstellung wie gewünscht ändern (Feldtrennung | )
Fertig!

Jede Handarbeit ist bei Mitarbeitern störend, also mache eine klar definierte Arbeitsanweisung.
Auch wenn ein Makro vielleicht besser ist, die Länge der Tabelle muß sowieso entweder als Maximum bekannt sein oder wieder durch Markierung festgelegt werden...
LO 24.8.7.2 (X86_64) / Windows 11 64bit
Problem gelöst? Dann bitte im Betreff der ersten Nachricht [gelöst] voranstellen.

Robbie
Beiträge: 3
Registriert: Do 2. Mai 2019, 13:37

Re: CSV-Import/Export

Beitrag von Robbie » Fr 3. Mai 2019, 08:47

Das mit dem Druckbereich funktioniert leider nicht. Ich vermute es liegt daran, dass die leeren Felder (im Bereich 1-38 immer unterschiedliche) nicht als leer ausgegeben '||' sondern mit einem Leerzeichen versehen werden '| |'. Somit ja dann doch befüllt sind.
Anders bei Spalte 39. Nehme ich diese in den Druckbereich mit hinein, so sind die Felder dort ja wirklich leer und finden keine Berücksichtigung beim Speichern als csv.

Habe aber heute früh schon einen Ansatz gefunden. Beauftragt war das Pipe-Zeichen ganz eindeutig als "Feldtrenner" und nicht als schließendes Zeichen. Somit versuche ich es mal über die Schiene. Denke, das ist der sauberste Weg, hier an der Ursache zu arbeiten, als eine doch recht anfällige Umgehungslösung an viele Mitarbeiter zu geben. Bearbeitet werden in regelmäßigen Abständen bis zu 3000 dieser Dateien, die insg. rund 80.000 Zeilen beinhalten. Da ist eh schon Vorsicht geboten.

Nochmals vielen Dank :)

Pit Zyclade
* LO-Experte *
Beiträge: 3060
Registriert: Mo 12. Nov 2012, 16:59

Re: CSV-Import/Export

Beitrag von Pit Zyclade » Fr 3. Mai 2019, 10:41

Robbie hat geschrieben:
Fr 3. Mai 2019, 08:47
Das mit dem Druckbereich funktioniert leider nicht. Ich vermute es liegt daran, dass die leeren Felder (im Bereich 1-38 immer unterschiedliche) nicht als leer ausgegeben '||' sondern mit einem Leerzeichen versehen werden '| |'. Somit ja dann doch befüllt sind.
Anders bei Spalte 39. Nehme ich diese in den Druckbereich mit hinein, so sind die Felder dort ja wirklich leer und finden keine Berücksichtigung beim Speichern als csv.
Spalte AM ist ja nun mal die 39. Das war von mir bereits vorgegeben. Man muß beim Filter aber für Text die Vorgabe " entfernen, also leeren.
Schau dir bitte mal mein Exportprodukt mit einem Editor an:
Druckbereich bis 39ste Spalte.zip
Nicht entzippen, sondern umbenennen in
Druckbereich bis 39ste Spalte.csv
(525 Bytes) 86-mal heruntergeladen
Habe aber heute früh schon einen Ansatz gefunden. Beauftragt war das Pipe-Zeichen ganz eindeutig als "Feldtrenner" und nicht als schließendes Zeichen.
Wo bzw. wie willst du denn das abschließende Zeichen (in calc) vorgeben? Letztendlich muß ja immer das Zeilenendezeichen kommen...
... als eine doch recht anfällige Umgehungslösung an viele Mitarbeiter zu geben. Bearbeitet werden in regelmäßigen Abständen bis zu 3000 dieser Dateien, die insg. rund 80.000 Zeilen beinhalten. Da ist eh schon Vorsicht geboten.
Keine Frage. Jede einfachere Lösung wäre besser.
Zuletzt geändert von Pit Zyclade am Fr 3. Mai 2019, 16:45, insgesamt 1-mal geändert.
LO 24.8.7.2 (X86_64) / Windows 11 64bit
Problem gelöst? Dann bitte im Betreff der ersten Nachricht [gelöst] voranstellen.


An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:


Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.



Antworten