Thread CSV Feldlänge bestimmen
(16 answers)
Opened by sara456 at 2014-05-23 16:54 2014-05-23T14:54:26 sara456 sprintf() kann mit Nullen befüllen. Man könnte es sonst auch von Hand (mit einer eigenen Funktion) machen, aber so dürfte es am einfachsten sein. Ein Beispiel mit 6 Stellen: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 #!/usr/bin/perl use warnings; use strict; my @a = ("12;;654;Test;12345;Test", "13;;265;Test;12345;Test"); foreach my $line (@a) { chomp($line); my @b = split(";", $line); foreach my $i (@b) { if ($i eq "") { # Assigning a value to $i here changes @b too: $i = "000000"; } # isdigit?: if ($i !~ /\D/) { $i = sprintf("%06d", $i); } } print join(";", @b) . "\n"; } Ach so, wahrscheinlich kommt gleich jemand und sagt, Du solltest das Modul "Text::CSV" benutzen. Last edited: 2014-05-23 17:18:58 +0200 (CEST) |