TableExtract を使用して、一部のヘッダーの名前が同じでデータが異なるテーブルを解析しようとしています。rows メソッドは、両方のヘッダー セットの最初のヘッダーの値を返しています。
my @headers = qw(Flight Rating Airline Sched Actual Gate Sched Actual Gate Status Equip Track);
my $te = HTML::TableExtract->new(
headers => \@headers);
$te->parse_file($myfile);
my ($table) = $te->tables;
次のようにデータを印刷します。
for my $row ($te->rows ) {
foreach (@$row) {
$_ =~ s/\n//g;
$_ =~ s/\r//g;
}
print OUT join("\t", @$row),"\n";
}
結果は次のとおりです。
AA 1251 American Airlines 9:30 PM 10:22 PM T-CC37 9:30 PM 10:22 PM T-CC37 Landed 68 min M80
それはこうあるべきだった:
AA 1251 American Airlines 9:30 PM 10:22 PM T-CC37 11:00 PM 12:08 AM T-C77 Landed 68 min M80
最初の「Schedule Actual Gate」データ (出発を表す) は、2 番目の「Schedule Actual Gate」列 (到着を表す) に複製されます。
Dumper($table) でテーブル全体をダンプすると、正しいデータが表示されます
ヘッダー フィールドが重複しているテーブルを適切に解析するように行メソッドを取得するにはどうすればよいですか?