我正在編寫讀取csv文件並從中生成新的txt文件的代碼。問題是我不知道它的行中有多少個元素。例如,它可以是如何知道csv中有多少元素。 PERL
1,2,3,4,6
6,7,8,9,10
或
a,b,c
d,e,f
我使用的文字:CSV_XS但因爲它是獲得線作爲一個變量,我似乎無法能夠獲得它的長度。 有人可以幫助我解決這個基本問題嗎?
open(OUTFILE,'>file.txt');
my $csv = Text::CSV_XS->new ({ binary => 1, eol => $/ });
# #fields is a variable so can't seem to do $fields_size = @fields for its length
my $fields = $csv->getline ($fh);
while (my $row = $csv->getline ($fh)){
for(my $c=0; $c <=1 ; $c++)
{print OUTFILE "$fields->[$c]=$row->[$c];";}
print OUTFILE "\n";
}
close $fh;
這裏我假設只有2個元素,但我怎樣才能使:
for(my $c =0; $c <=$fields_size ; $c++)
我的循環?
[在perl中查找數組的長度]的可能重複(http://stackoverflow.com/questions/13744697/find-length-of-array-in-perl) – Barmar
我試過我的$ size = scalar @ {$田};但我得到:在串聯(。)或字符串中使用未初始化的值 – yatici
請閱讀代碼標記的SO文檔,以便人們不必編輯您的問題來修復它。 – Barmar