target1,48,12,7
target2,17,16,2
target3,22,6,1
####
target5,14,12,8,,3,
target6,5,7,9,,,15
##
##
target1,,,,,,13
target2,,,,,,8
target4,,,,11,5,6
##
##
target1,,,,51,8
target2,,,,87,42
target4,22,3,7,,
##
##
use strict;
use warnings;
print ("Now merging \n");
my $filenum = 0;
my ( %row_val, %data );
foreach my $file ( sort glob("*.csv") ) {
$filenum++;
open my $fh, "<", $file or die $!;
while ( my $line = <$fh> ) {
chomp $line;
my ( $row_val, @values ) = split /,/, $line;
$row_val{$row_val} = 1;
$data{$filenum}{$row_val} = \@values;
}
close $fh;
}
foreach my $row_val ( sort keys %row_val ) {
print $row_val, ",", join( ",", map { $data{$_}{$row_val} ? @{ $data{$_}{$row_val} } : ",," } 1 .. $filenum ), "\n";
}
##
##
target1,48,12,7,,,,,,,,,13,,,,51,8
target2,17,16,2,,,,,,,,,8,,,,87,42
target3,22,6,1,,,,,,,,,
target4,,,,,,,,,,11,5,6,22,3,7
target5,,,,14,12,8,,3,,,,,,
target6,,,,5,7,9,,,15,,,,,,
##
##
target1,48,12,7,51,8,13
target2,17,16,2,87,42,8
target3,22,6,1,,,
target4,22,3,7,11,5,6
target5,14,12,8,,3,
target6,5,7,9,,,15