3

在使用 Perl 库 Text::CSV_XS 时,我想忽略 CSV 文件中的标题。

有没有比以下更好或更合适的方法来做到这一点:

use Text::CSV_XS;

open(my $fh, "<", "file.csv") or die "file.csv: $!"; 
my $csv = Text::CSV_XS->new();

#ignore header
my $row = $csv->getline($fh);

while ($row = $csv->getline($fh)) {  
  #do stuff with the rows... 
}
4

1 回答 1

4

以下会稍微好一点:

# Skip header
$csv->getline($fh);

while (my $row = $csv->getline($fh)) {  
   ...
}

它避免了不正确的范围界定、有问题的变量重用和不必要的分配。


或者,您可以使用以下内容:

$csv->column_names( $csv->getline($fh) );

while (my $row = $csv->getline($fh)) {  
   ...
}

你没有使用你传递给的额外信息$csv,所以你做的工作比必要的多,但它是自我记录的。

于 2013-06-06T06:12:21.180 回答