🍀 Das LibreOffice Forum braucht HEUTE Ihre Hilfe! 🍀
❤️ Spenden Sie jetzt und sichern Sie die Zukunft unseres LibreOffice-Forums ❤️
Ihre Spende hilft, die Community offen, werbefrei (bei Registrierung) und lebendig zu halten. Vielen lieben Dank!
>> Das LibreOffice-Forum lebt von Ihnen – und von vielen Experten, die freiwillig und kostenlos ihr Wissen teilen.<<
Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.
CSV-Import/Export
CSV-Import/Export
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
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: 3191
- Registriert: Mo 12. Nov 2012, 16:59
Re: CSV-Import/Export
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 25.8.6.2 (X86_64) / Windows 11 64bit
Problem gelöst? Dann bitte im Betreff der ersten Nachricht [gelöst] voranstellen.
Problem gelöst? Dann bitte im Betreff der ersten Nachricht [gelöst] voranstellen.
Re: CSV-Import/Export
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
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: 3191
- Registriert: Mo 12. Nov 2012, 16:59
Re: CSV-Import/Export
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...
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 25.8.6.2 (X86_64) / Windows 11 64bit
Problem gelöst? Dann bitte im Betreff der ersten Nachricht [gelöst] voranstellen.
Problem gelöst? Dann bitte im Betreff der ersten Nachricht [gelöst] voranstellen.
Re: CSV-Import/Export
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
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: 3191
- Registriert: Mo 12. Nov 2012, 16:59
Re: CSV-Import/Export
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.Robbie hat geschrieben: ↑Fr 3. Mai 2019, 08:47Das 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.
Schau dir bitte mal mein Exportprodukt mit einem Editor an:
Wo bzw. wie willst du denn das abschließende Zeichen (in calc) vorgeben? Letztendlich muß ja immer das Zeilenendezeichen kommen...Habe aber heute früh schon einen Ansatz gefunden. Beauftragt war das Pipe-Zeichen ganz eindeutig als "Feldtrenner" und nicht als schließendes Zeichen.
Keine Frage. Jede einfachere Lösung wäre besser.... 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.
Zuletzt geändert von Pit Zyclade am Fr 3. Mai 2019, 16:45, insgesamt 1-mal geändert.
LO 25.8.6.2 (X86_64) / Windows 11 64bit
Problem gelöst? Dann bitte im Betreff der ersten Nachricht [gelöst] voranstellen.
Problem gelöst? Dann bitte im Betreff der ersten Nachricht [gelöst] voranstellen.
An alle, die das LibreOffice-Forum gern nutzen:
Bitte beteiligen Sie sich mit 7 Euro pro Monat und helfen uns bei unserem Budget für das laufende.
Einfach per Kreditkarte oder PayPal. Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.
❤️ Vielen lieben Dank für Ihre Unterstützung ❤️