【问题标题】:Perl: Ignore headers with Text::CSV_XSPerl:忽略带有 Text::CSV_XS 的标题
【发布时间】:2013-06-02 00:22:21
【问题描述】:

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

【问题讨论】:

    标签: perl csv header


    【解决方案1】:

    以下会稍微好一点:

    # Skip header
    $csv->getline($fh);
    
    while (my $row = $csv->getline($fh)) {  
       ...
    }
    

    它避免了不当的范围界定、可疑的变量重用和不必要的分配。


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

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

    您没有使用传递给 $csv 的额外信息,因此您所做的工作超出了必要的范围,但它是自我记录的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-01-24
      • 2019-05-17
      • 1970-01-01
      • 2013-05-17
      • 1970-01-01
      • 2018-10-29
      • 1970-01-01
      相关资源
      最近更新 更多