我想加載一個CSV文件,轉置它,並寫一個新的。除了編寫一個新文件之外,我的一切都正常工作。我在網上瀏覽過沒有成功。從2d陣列創建CSV文件perl
use strict;
use warnings;
use Text::CSV;
use Data::Dump qw(dump);
use Array::Transpose;
my @data; # 2D array for CSV data
my $file = 'sample_array.csv';
my $csv = Text::CSV->new;
open my $fh, '<', $file or die "Could not open $file: $!";
while(my $row = $csv->getline($fh)) {
shift @$row; # throw away first value
push @data, $row;
}
@data=transpose(\@data);
dump(@data);
這裏的輸出是轉置數組@data (["blah", 23, 22, 43], ["tk1", 1, 11, 15],["huh", 5, 55, 55])
。我需要將輸出寫入新的CSV文件。
CSV文件:
text,blah,tkl,huh
14,23,1,5
12,22,11,55
23,42,15,55
您不需要同時使用'Text :: CSV'和'Text :: CSV_XS'。如果你安裝了'Text :: CSV_XS','使用Text :: CSV;'實際上會自動使用'Text :: CSV_XS'。 – ThisSuitIsBlackNot
的確,我應該刪除它從之前的嘗試中複製過來的。 – snoop