如何在perl中将2维数组输出到csv文件?
例如,我构建了一个维数组:
for my $i(0..100) {
for my $j (0..50) {
$data[$i][$j]=0;
}
}
我想将其输出到csv文件以供将来参考。并且应该读取该csv文件并将其重建为二维数组。使用代码如:
my $outfilename="output.csv";
my $csv = Text::CSV->new;
open OUT , '<', $outfilename or die "Could not open $outfilename: $!";
while( my $row = $csv->getline( OUT ) ) {
push @output, $row;
}
close OUT;
有效的方法是什么?
像往常一样,CPAN是你的朋友:你可以使用Tie::Array::CSV
文档中的示例看起来非常像您需要的:
use strict; use warnings;
use Tie::Array::CSV;
tie my @file, 'Tie::Array::CSV', 'filename';
# print $file[0][2];
$file[3][5] = "Camel";
至于效率,它在您的时间方面看起来非常有效。该模块有一个警告说“某些行动可能效率非常低[...](例如,(联合国)转移”)。看起来你的情况不会受到影响。