【发布时间】:2012-08-30 21:54:25
【问题描述】:
我有一个包含内容的 csv 文件 xyz.csv
name,age,place,phone
xyz,12,ohio,7372829
sed,23,hrh,9890908
我需要解析 csv 文件并检查它是否为空文件,即它没有提供的标题的值。
一个空文件xyz.csv 将只包含标题(标题可能会减少或增加),例如减少:
name,age,place,phone
增加:
name,age,place,mob,phno,ht
如何检查下面代码中的空文件并打印是否为空?
我开发了下面的脚本来解析 csv
open(my $data, '<', $file_c) or die "Could not open '$file_c' $!\n";
while (my $line = <$data>)
{
next if ($. == 1);
chomp $line;
my @fields = split "," , $line;
print"$fields[0] fields[1]";
}
【问题讨论】:
-
您可以使用标量来表示文件的第一行并检查它是否已定义。然而,这确实推进了文件句柄,其余的阅读内容将从第二行开始。
-
@squiguy...我该怎么做...我只是想跳过标题并检查下一行是否为空或有任何值...请建议
-
您可以检查它是否仅包含换行符或是否为空白。最后一个如果没有定义 $line;最后一个 if $line eq "\n";
-
pen(my $data, ') { next if ($. == 1);我的@fields = split "," , $line;打印 "\n ***** @fields"; if(@fields eq " \n"){ 打印 "空文件"; } 它不是 printng 空文件...你可以请检查 }
标签: perl csv perl-module