PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Problem mit CSV-Datei



kelups
18.05.11, 16:54
Suse 11.4, KDE 4.6.00, LIbreOffice 3.3.1
Ich speichere eine Adressen-Tabelle (LibreOffice calc) als CSV-Datei. Im CSV-Betrachter scheint alles richtig: Die Felder sind mit Komma abgegrenzt, der Text in den Feldern steht in Hochkommas.

Wenn ich diese CSV-Datei in das Adressbuch importiere, dann erscheinen die Feldinhalte im CSV Import Dialog so, als ob auf jeder Zeile alle Felder mit Inhalt aneinandergereiht wären, während Felder ohne Inhalt ausgelassen werden. Auf diese Weise sieht man dann die Telefonnummer unter "Strasse" (Wenn "Strasse" leer ist) etc.

Merkwürdig: Wenn ich eine alte CSV-Datei aus einem Backup importiere, die ich noch unter Suse 11.1 und OpenOffice gemacht habe, gibt es dieses Problem nicht. Alles ist korrekt angezeigt.

Was läuft da falsch?

Kurt

DrunkenFreak
18.05.11, 16:57
Vergleiche die Dateien mal als Plaintext.

kelups
18.05.11, 17:06
Danke.
Da liegt der Hund begraben:
Die CSV-Dateien mit kwrite geöffnet.
In der alten Datei, die richtig angezeigt wird, enthalten die leeren Felder Leertext in Hochkommas: ,"","",
In der neuen Datei werden einfach Kommas gesetzt: ,,,,

Was kann man da machen?

Kurt

DrunkenFreak
18.05.11, 17:09
Irgendwas nutzen, was CSV richtig interpretiert. Das Komma ist der Trenner für das Feld unabhängig vom Inhalt.

Newbie314
18.05.11, 17:11
.. oder mit "suchen & ersetzen" ,, durch ,"", ersetzen...

("Würgaround")

kelups
18.05.11, 17:25
Die Felder mit Inhalt sind richtig formatiert: "text". Die Felder ohne Text enthalten die Hochkommas nicht , d.h. es stehen nur die Feldtrenner: ,,.

Offenbar kann LibreOffice calc keine korrekte CSV-Datei herstellen?

Kurt

kelups
18.05.11, 17:29
Wenn ich im Adressbuch beim CSV-Import Dialog bei "Texterkennungszeichen" "keines" setze, hilft das nichts.

s. auch: http://de.openoffice.info/viewtopic.php?f=2&t=48492

Kurt

Newbie314
18.05.11, 22:13
Falls du nicht irgendwo ein Kästchen mit "konsekutive leere Felder überspringen" angeklickt / aktiv gelassen hast ist das ein Bug den du den LibreOffice Entwicklern melden solltest.

kelups
19.05.11, 17:25
Danke, suchen/ersetzen löst das Problem. Man muss aber den Ersetzen-Lauf zwei Mal machen, weil aus ,,,,, (vier leere Felder) zuerst ,"",,"",,text, (nur zwei leere Felder) wird.
Kurt

kelups
19.05.11, 18:13
#8
Das ist wohl die Funktion "Feldtrenner zusammenfassen". Diese ist nicht aktiviert.

Kurt

kelups
19.05.11, 18:48
Nach weiterem Herumprobieren habe ich festgestellt:

Die CSV-Datei mit leeren Feldern (,,,,) wird unterschiedlich dargestellt:

Im CSV Import Dialog-Adressbuch werden die leeren Felder ignoriert. Es gibt keine Möglichkeit, das einzustellen. Man kann das nur durch die suchen/ersetzen-Operation beheben, was unbefriedigend ist.

In der Text-Import-Funktion (öffnen einer CSV-Datei in LO-calc) hingegen werden die leeren Felder korrekt dargestellt.

Das Problem liegt demnach beim Adressbuch.

Kurt

Newbie314
19.05.11, 20:47
Mit welchem Editor hast du "suchen + ersetzen" durchgeführt ?

Vi ersetzt per "default" nur den ersten gefundenen Eintrag, es sei denn du gibst nach dem Ersetzen Ausdruck "g" an.

Also s/,,/,"",/g ( falls - wie ich vermute- keines der Zeichen , oder " "escaped" werden muss...)

Falls du das öfter benötigst: Perl Routine schreiben...

Oder ein Shellskript das die Ersetzerei mit sed oder awk ausführt (perl ist mein Favorit, andere verwenden lieber diese Editoren..)

kelups
19.05.11, 22:36
Ich habe das mit kwrite gemacht. Es wird nicht zur Routine werden. Aber trotzdem, warum schafft OpenSuse es nicht, etwas derart Banales fehlerfrei einzurichten?

Kurt

naraesk
19.05.11, 23:20
Liegt wohl weniger an openSuse, als an KDE. Das Problem besteht hier jedenfalls auch.
Beim CSV-Import in KSpread gibt es die Option "ignore duplicate delimeters" – ist diese deaktiviert, werden die leeren Felder korrekt importiert. Beim Adressbuch fehlt diese Option anscheinend.

Also am besten mal im KDE-Bugtracker schauen und ggf. dort beschweren.

Newbie314
20.05.11, 12:31
Liegt an der KDE 4 Umstellung... da hat sich das Team einfach zu viel vorgenommen, daher ist KDE 4 noch bei weitem nicht so zuverlässig und durchdacht wie wir das bei KDE3 gewohnt waren.

Vor allem alles was mit PIM / Adressen etc. zusammenhängt scheint betroffen zu sein.

kelups
26.05.11, 20:33
INzwischen habe ich herausgefunden:
Der Bug ist bei KDE bekannt und als gelöst gemeldet ab der Version 4.6. Offensichtlich ist das aber nicht der Fall, wenigstens bei mir nicht.
Kurt

Newbie314
26.05.11, 22:52
.. am besten den Bug Report nochmal aufmachen....

naraesk
26.05.11, 23:48
Kannst du mal den Link posten?

Und: KDE 4.6 != KDE-PIM 4.6

kelups
30.05.11, 22:44
https://bugs.kde.org/show_bug.cgi?id=273755 und
https://bugs.kde.org/show_bug.cgi?id=258624

Kurt

Newbie314
31.05.11, 08:07
.. oder der Patch ist noch nicht in den OpenSuse Repos angekommen ...