@H_301_3@
什么是从Perl中有大约200万条记录的文件中汇总数据的最佳方法?
例如:这样的文件,
ABC | XYZ | DEF | EGH | 100
ABC | XYZ | DEF | FGH | 200
SDF | GHT | WWW | RTY | 1000
SDF | GHT | WWW | TYU | 2000
需要在前3列中总结如下,
ABC | XYZ | DEF | 300
SDF | GHT |万维网| 3000
克里斯
解决方法
假设总共有五列,其中第五列是数字,并且您总是希望前三列成为关键…
use warnings; use strict; my %totals_hash; while (<>) { chomp; my @cols = split /\|/; my $key = join '|',@cols[0..2]; $totals_hash{$key} += $cols[4]; } foreach (sort keys %totals_hash) { print $_,'|',$totals_hash{$_},"\n"; }