Perl:使用Text :: CSV_XS忽略标头

时间:2013-06-06 05:49:14

标签: perl csv header

使用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... 
}

1 个答案:

答案 0 :(得分: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的额外信息,因此您需要做的工作超出必要的范围,但它会进行自我记录。