Seite 1 von 1

Problem mit "-Zeichen bei Datenverarbeitung

Verfasst: Donnerstag 2. Februar 2012, 10:52
von Nobuddy
Hallo zusammen,

bin dabei Python zu erlernen.

Folgendes Beispiel, macht mir Probleme:
10" & 19" Schrank-Systeme 10" Stand-/Wandverteiler, Digitus
Wenn ich obige Daten mit dem csv-Modul in eine neue Datei schreibe, erhalte folgendes Ergebnis:
"10""&19""-SCHRANK-SYSTEME" "10""-STAND-/WANDVERTEILER,-DIGITUS"
Das Anführunszeichen, was hier das Zeichen für Zoll (Längeneinheit) ist, wird von weiteren Anführunszeichen eingeschlossen, was dann bei der späteren Textausgabe absolut beschissen aussieht.

Die Basisdatei ist TAB-getrennt und bei der Weiterverarbeitung setze ich auch TAB als Delimiter ein.

Als Vorablösung habe ich das "-Zeichen durch 'ZOLL' ersetzt, was natürlich nicht so elegant aussieht.
10ZOLL&19ZOLL-SCHRANK-SYSTEME 10ZOLL-STAND-/WANDVERTEILER,-DIGITUS
Gibt es eine Möglichkeit das "-Zeichen zu nutzen, ohne daß es wieder mit Anführungszeichen umschlossen wird?

Grüße Nobuddy

Re: Problem mit "-Zeichen bei Datenverarbeitung

Verfasst: Donnerstag 2. Februar 2012, 11:19
von Barabbas
Du kannst doch einfach ein anderes quotechar wählen, oder? Außerdem sieht mir Dialect.doublequote recht vielversprechend aus…

lG

brb

Re: Problem mit "-Zeichen bei Datenverarbeitung

Verfasst: Donnerstag 2. Februar 2012, 11:50
von Nobuddy
Barabbas hat geschrieben:Du kannst doch einfach ein anderes quotechar wählen, oder? Außerdem sieht mir Dialect.doublequote recht vielversprechend aus…
Ok, das mit dem anderen quotechar funktioniert!

Code: Alles auswählen

with open(filename, "w") as zielfile:
    writer = csv.writer(zielfile, delimiter="\t", quotechar="'")
Alternativ habe ich mir auch Dialect.doublequote angeschaut, allerdings ist mein Englisch fast Null.
Habe einen Übersetzer bemüht, mir ist aber noch nicht klar, wie dies umzusetzen ist?

Grüße Nobuddy

Re: Problem mit "-Zeichen bei Datenverarbeitung

Verfasst: Donnerstag 2. Februar 2012, 13:08
von BlackJack
@Nobuddy: Das escapen der " auf diese Weise ist aber Quasi-Standard. Was meinst Du mit Textausgabe die besch… aussieht? Der Dateiinhalt ist ja nun nicht unbedingt zum ansehen gedacht und wenn man die Daten wieder über das CSV-Modul lädt, oder zum Beispiel in andere Software wie Tabellenkalkulationen, dann werden die zusätzlichen " wieder entfernt und man hat den ursprünglichen Text.

Re: Problem mit "-Zeichen bei Datenverarbeitung

Verfasst: Donnerstag 2. Februar 2012, 13:19
von Nobuddy
BlackJack hat geschrieben:@Nobuddy: Das escapen der " auf diese Weise ist aber Quasi-Standard. Was meinst Du mit Textausgabe die besch… aussieht? Der Dateiinhalt ist ja nun nicht unbedingt zum ansehen gedacht und wenn man die Daten wieder über das CSV-Modul lädt, oder zum Beispiel in andere Software wie Tabellenkalkulationen, dann werden die zusätzlichen " wieder entfernt und man hat den ursprünglichen Text.
Das war mir nicht klar, dachte das würde dann erhalten blieben und den Text verunschönen.

Re: Problem mit "-Zeichen bei Datenverarbeitung

Verfasst: Donnerstag 2. Februar 2012, 14:51
von snafu
Selbstredend sollte man sich dabei aber an gängige Standards halten, sodass die Fremdsoftware auch tatsächlich später wieder das Zeichen entfernt. Dürfte aber an sich auch klar sein.

Re: Problem mit "-Zeichen bei Datenverarbeitung

Verfasst: Donnerstag 2. Februar 2012, 15:00
von Hyperion
Viele dieser Probleme wären dann obsolet, wenn Nobuddy sich irgend wann einmal an Datenbanken heran wagte. Dann wäre es ein One-way Problem und er müsste nicht ständig noch auf selbst generierte CSV-Dateien als DB-Ersatz zurückgreifen ;-)

Re: Problem mit "-Zeichen bei Datenverarbeitung

Verfasst: Donnerstag 2. Februar 2012, 15:55
von Nobuddy
Hyperion hat geschrieben:Viele dieser Probleme wären dann obsolet, wenn Nobuddy sich irgend wann einmal an Datenbanken heran wagte. Dann wäre es ein One-way Problem und er müsste nicht ständig noch auf selbst generierte CSV-Dateien als DB-Ersatz zurückgreifen ;-)
Immer ein Schritt nach dem Anderen ..., aber dann spendiere ich eine Runde! :wink: