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

Gast vionig
 2017-09-18 01:12
#187408 #187408
Zunächst vielen Dank für den Input.

Ich habe mich daran versucht, den Fehler in den Dateien oder im Skript zu finden, komme aber aktuell nicht weiter.

Wenn ich die beiden Beispieldateien 1+2 zusammenführe, klappt es ohne Probleme (d.h. die Zeilen in der Zusammenfassung sind dem Datum nach korrekt angeordnet wie in der Ursprungsdatei). Sobald ich Datei 3 dazu nehme, kommt der Output durcheinander. Erklären kann ich es mir weiterhin leider nicht, da die Datei für mich aussieht wie alle anderen.

Etwas stutzig macht mich auch diese sich wiederholende Fehlermeldung, obwohl es trotzdem bei besagten Dateien klappt:
Quote
Use of uninitialized value in addition (+) at master_fxe.pl line 23, <$fh> line XYZ


Code: (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
use strict;
use warnings;

my @fields;
my $cnt = 0;
my @Values;

my $dir = './FXE';
foreach my $fp (glob("$dir/*"))
{
#printf "%s\n", $fp;
open my $fh, "<:encoding(utf8)", $fp or die "can't open $!";
while (<$fh>)
{
chomp;
@fields = split(',', $_);

if($fields[0] >=1101227)
{
$Values[$cnt++]= $fields[0];
$Values[$cnt++]= $Values[$cnt] + $fields[1];
$Values[$cnt++]= $Values[$cnt] + $fields[2];
$Values[$cnt++]= $Values[$cnt] + $fields[3];
$Values[$cnt++]= $fields[4];
$Values[$cnt++]= $fields[5];
$Values[$cnt++]= $fields[6];
$Values[$cnt++]= $fields[7];
$Values[$cnt++]= "\n";
}
}
close $fh or die "can't close $!";
$cnt=0;
}
print join(",", @Values);


Link zu den Dateien:
Zip Beispieldateien

Vielen Dank fürs lesen.
Last edited: 2017-09-18 08:09:35 +0200 (CEST)

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