-1

我需要检查 csv 文件中的每一行是否具有根据标题定义的所有列,即使没有值它应该像'||' 其中'|' 是分隔符。例子:

EmpId|EmpName|EmpSalary|EmpDept -> 标头

001|AAA|100|Dept1

002|BBB||Dept2 --> 即使 Salary 没有值,此行也是有效的

003|AAA|Dept1 ---> 此行无效。

由于我使用 CSV_XS(将文件读入 arrayOfHashes)以便于数据操作,我如何使用 CSV_XS 检查上述场景,其中文件已读入哈希数组。谢谢 - 库马尔

4

1 回答 1

0
my $header_row = $csv->getline($fh)
   or die("No header\n");

my $num_header_fields = @$header_row;

while (my $row = $csv->getline($fh)) {
    if (@$row != $num_header_fields) {
        # Invalid
        ...
    }

    ...
}
于 2016-09-30T18:59:33.497 回答