* On Thu, 14 Aug 2003 at 12:41 +0200, Rolf-Hubert Pobloth wrote:
Eine große Datei mit Daten, Felder sind durch Kommata seperiert und Texte sind mit Gänsefüßchen gekennzeichnet.
Eine richtige Daten.csv Datei.
Leider sind in jedem Datensatz auch Betragsfelder enthalten und bei den Beträgen ist auch teilweise ein Kommata vorhanden z.B "Text",125,73,EUR, usw. Wenn es sich um einen glatten Betrag handelt, steht nur 125 im Datenfeld drin, also keine 125,00 .
Auweia .... :-(
Hat jemand aus der Liste eine gute Idee, wie ich das Problem mit Bordmitteln, SuSE 8.2 KDE 3.x lösen kann???
Nuja, mit einem kleinem Perl-Skript sollte das eigentlich zu lösen sein. Meine Grundidee basiert darauf, daß ja bekannt ist, wieviele Felder es in einer Zeile gibt. Wenn nun in einer Zeile mehr Felder sind, dann sind soviele Kommatas zuviel, wie Felder zuviel sind. Wenn nun bekannt ist, in welchen Feldern die Kommatas sein können, dann sollten sich die Felder leicht isolieren lassen können und richtig quoten. Ansatz: while (<>) { split(/,/); $len = scalar @_; if ($len==5) { // Alles okay - Zeile unverändert rauschreiben print; } else { // Felder aus @_ rausklauben und mit Kommatas versehen // rausschreiben ..... } } /apm -- GPG welcome, request public key: mailto:adalbert+key@lopez.at