Thread csv suchen - ersetzen
(12 answers)
Opened by Daniel at 2010-06-23 12:14
unter der annahme, die zeile soll komplett ersetzt werden und das erste feld besteht nicht aus eingebetteten semikolons:
Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 # änderungen einlesen open my $cfh, "<", "changes.csv" or die $!; my %changes; while (my $line = <$cfh>) { my ($aks, $rest) = split m/;/, $line, 2; $changes{ $aks } = $rest; } close $cfh; open my $fh, "<", "orig.csv" or die $!; open my $ofh, "<", "new.csv" or die $!; while (my $line = <$fh>) { my ($aks, $rest) = split m/;/, $line, 2; if (exists $changes{ $aks }) { $line = "$aks;$changes{ $aks }"; # newline hängt noch dran } print $ofh $line; } ungetestet 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: Wie frage ich & perlintro brian's Leitfaden für jedes Perl-Problem |