我正在创建一个脚本来读取csv文件中的值,并将这些值用于其他任务。我写了下面的代码来读取值。
sample file:
site,type,2009-01-01,2009-01-02,....
X,A,12,10,...
X,B,10,23,...
Y,A,20,33,...
Y,B,3,12,...
and so on....
代码:
my @value;
while (<INFILE>) {
next if $_ !~ /B/;
my ($v1, $v2, @v3) = split /[,]/, $_;
push(@value, @v3);
}
它为我提供了B类的所有值。我需要帮助为每个B类值创建不同的数组。
答案 0 :(得分:3)
阅读CSV文件比我们大多数人最初想的要困难。事实证明,阅读CSV文件令人沮丧。因此,我的建议是不自己这样做,而是使用Text::CSV_XS代替。
答案 1 :(得分:2)
根据我的理解,您想使用列表列表:
my @value;
while (<INFILE>) {
next if $_ !~ /B/;
chomp;
my ( $v1, $v2, @v3 ) = split /[,]/, $_;
push @value, [@v3]; # This creates a list of lists
}
use Data::Dumper::Simple;
print Dumper @value;
答案 2 :(得分:1)
请查看此link。希望这会对你有所帮助。