Anmelden

Archiv verlassen und diese Seite im Standarddesign anzeigen : txt2csv



rabenkind
18-11-2002, 01:12
hi to all

ich habe ein kleines perl script das einfache ascii-dateien in csv format bringt, es hat nur einen fehler, und den finde ich nicht, bzw kann nicht gut genug perl,
hier das script

while (<>){
$start=1;
while(!eof(ARGV)){
if($start==1){
print '"';
$start=0;
}
read ARGV, $c, 1;
if ($c eq " "){
print '","';
}
elsif($c eq "\n"){
print "\"\n";
$start=1;
}
else{
print $c;
}
}
}

es zählt die leerräume mit, es soll diese aber als trennung der daten nehmen, siehe beispiel:
vorher
tcp 5666 760234 511 18522 3 nrpe
nachher
"tcp","","","5666","","","","","760234","","","","","511","","18522","","","","3","","nrpe"

gewünscht
"tcp","5666","760234","511","18522","3","nrpe"


die daten schneide ich aus einer email sie sollen anschließend in eine mysql-tabelle eingefügt werden, wäre für hilfe dankbar

greetz rabenkind :))

tomes
18-11-2002, 18:47
aber hast du dir schon mal Text::CVS_XS (http://search.cpan.org/author/JWIED/Text-CSV_XS-0.23/CSV_XS.pm) angesehen ?
Ansonsten vielleicht ein if($c =~ / /) um die Leerstelle zu erkennen.

T;o)Mes

rabenkind
18-11-2002, 22:06
hi tomes

bist du überall,

das kannte ich noch nicht, much thanks

greetz rabenkind :))