Thread Zusammenführung von .csv files klappt manchmal nicht (28 answers)
Opened by vionig at 2017-09-16 16:05

hlubenow
 2017-09-18 10:27
#187417 #187417
User since
2009-02-22
875 Artikel
BenutzerIn
[default_avatar]
Probier' mal:
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
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#!/usr/bin/perl

use warnings;
use strict;

my @fields;
my $line;
my @lines;
my @values;
my $i;
my @resultline;

my $dir = './FXE';
foreach my $fp (glob("$dir/*")) {
    open my $fh, "<:encoding(utf8)", $fp or die "can't open $!";
    while ($line = <$fh>) {   
        chomp $line;;
        @fields = split(/\,/ , $line);
        @values = ();
        if($fields[0] >= 1101227) {
            push(@values, $fields[0]);
            foreach $i (1 .. 3) {
                push(@values, $values[$i - 1] + $fields[$i]);
            }
            foreach $i (4 .. 7) {
                push(@values, $fields[$i]);
            }
            push(@values, "\n");
            my $resultline = join(',', @values);
            print $resultline;
            push(@lines, $resultline);
        }
    }
    close $fh or die "can't close $!";
}

# foreach $i (@lines) {
#    print $i;
# }

Das Schöne an Perl sind ja seine dynamischen Listen. Man muß nicht direkt sagen, "$values[3]" soll dieses oder jenes sein, sondern man kann Elemente einfach ans Ende mit "push()" anhängen.

Edit: @values geleert.
Last edited: 2017-09-18 10:39:06 +0200 (CEST)

View full thread Zusammenführung von .csv files klappt manchmal nicht