Thread CSV umwandeln (38 answers)
Opened by lukastonner at 2010-06-18 16:31

pq
 2010-06-18 17:15
#138473 #138473
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
2010-06-18T14:56:35 lukastonner
Kommas kommen ne Menge vor, die möchte ich ja durch Tab ersetzen....

ähm... du weisst schon, was CSV ist, oder? comma seperated values.
d.h. zwischen jedem wert ist ein komma. das war mir schon klar, dass da kommas vorkommen, ich kann ja lesen.

und ich meinte, du kannst ganz einfach mit split die felder splitten. musst aber halt sicherstellen, dass in den *daten* (werten) nicht *nochmal* kommas vorkommen.

das ist im CSV-format durchaus erlaubt, wenn denn quotes um die felder geschrieben werden.

ich würde dir doch nicht empfehlen, an komma zu splitten und dir dann zu sagen, dass du sicherstellen musst, dass in der ganzen datei keine kommas vorkommen.

aber stell dir mal vor, du hast eine valide CSV-zeile der art
foo,"bar, baz"
wenn du da an einem komma splittest, dann reissts die felder auseinander und wenn du es mit einem semikolon wieder zusammenfügst, hast du das feld verfälscht.

deshalb gibt es module wie Text::CSV, die kümmern sich einfach darum.

also nochmal, wenn du sicherstellen kannst, dass in den werten selbst *keine* kommas vorkommen (und keine semikolons), kannst du split und join verwenden oder ein tr/,/;/ drüberlaufen lassen.

wenn doch, nimm Text::CSV.
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem

View full thread CSV umwandeln