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

Gast vionig
 2017-09-16 16:05
#187405 #187405
Hallo Community,

ich versuche mich daran mehrere .csv Files die durch Kommata getrennt sind in eine Datei zu überführen, wobei einige der Spalten addiert werden sollen. Das klappt soweit auch wunderbar, nur gibt es einige der .csv Files, bei denen es plötzlich nicht mehr klappt und die konsolidierte Datei völlig falsche Daten aufweist. Da ich selbst nach mehrfacher Suche keinen Unterschied bei den betroffenen Files zu den anderen feststellen konnte, gehe ich davon aus, das mein Skript irgendwo nicht ganz korrekt funktioniert und würde mich über ein Review bzw. Ideen woran es liegen könnte freuen.

Dank für lesen.

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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
my $cnt = 0;
my @Values;
my $dir = './FXE';
foreach my $fp (glob("$dir/*")) {
#printf "%s\n", $fp;
open my $fh, "<", $fp or die "can't open";
while (<$fh>)
{
# get rid of newline character
chomp;

# read the fields in the current record into an array
@fields = split(/,/, $_);


if($fields[0] >=1101227)
{
$Values[$cnt]= $fields[0];
$cnt++;

$Values[$cnt]= $Values[$cnt] +$fields[1];
$cnt++;

$Values[$cnt]= $Values[$cnt] +$fields[2];
$cnt++;

$Values[$cnt]= $Values[$cnt] +$fields[3];
$cnt++;

$Values[$cnt]= $fields[4];
$cnt++;

$Values[$cnt]= $fields[5];
$cnt++;

$Values[$cnt]= $fields[6];
$cnt++;

$Values[$cnt]= $fields[7];
$cnt++;

$Values[$cnt]= "\n";
$cnt++;

}

}
close $fh or die "can't close";
$cnt=0;

}
print join(",", @Values), "\n";


modedit Editiert von GwenDragon: Code eingerückt
Last edited: 2017-09-16 16:11:35 +0200 (CEST)

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