2009-09-01 7 views
0

私はcsvファイルから値を読み込み、他のタスクの値を使用するスクリプトを作成しています。私は値を読み取るために以下のコードを書いています。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のすべての値を示します。

答えて

1

してください。これがあなたを助けることを願っています

+1

私は 'perldoc perldsc'を見つけましたが、もっと便利でした(もっと複雑ですが、Perlのすべてのドキュメントの最新版はhttp://perldoc.perl.org/から入手できます。あなたはまた、いつでもターミナルでドキュメントを手に入れることができます(標準のPerlインストールを想定していますが、一部のオペレーティングシステムではドキュメントが削除されます)。 – Telemachus

2

私が理解するものから、あなたはリストのリストを使用する:このlink見て

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; 
3

CSVファイルを読むことは、私たちが最初に思ったよりも難しいです。 CSVファイルを読むのは難しいことです。だから私の推薦はではなく、これを自分で行うが、代わりにText::CSV_XSを使う。

+1

最初はとてもシンプルですが、そうではありません。 – Telemachus

関連する問題