【Perl】初心者コーナー Part16
■ このスレッドは過去ログ倉庫に格納されています
0607nobodyさん
02/10/03 02:17ID:???そのくらいのデータ量だったら、値を全て読み込んでから
処理しちゃっても大丈夫/楽じゃないですかね。
use constant FIRSTFILENUM => 1;
use constant LASTFILENUM => 10;
my @data; #$data[ファイル名の数字部分]->[列][行]
for (my $fileno = FIRSTFILENUM; $fileno <= LASTFILENUM ; $fileno++){
open (FILE, "Sheet$fileno\.csv") or die;
for(my $n = 0; <FILE>; $n++){
chomp;
$data[$fileno]->[$n] = [split (/,/)]
};
close (FILE) or die;
}
こんな感じで、データを一気に読み込んで、あとは適当に
ループを回して足すなり引くなりするというのはどうでしょ?
my $sum; #各ファイルの列ごとの和
for (my $col = 0;$col < 6; $col++){
for (my $fileno = 1; $fileno <= 10; $fileno++){
for(my $row = 0;$row < 8; $row++){
$sum += $data[$fileno]->[$col][$row];
}
}
print $col + 1 . ":$sum\n";
}
たとえばこんな感じで。
■ このスレッドは過去ログ倉庫に格納されています