如何在perl中将2维数组输出到csv文件

问题描述 投票:0回答:1

如何在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;

有效的方法是什么?

perl csv printing multidimensional-array output
1个回答
3
投票

像往常一样,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";

至于效率,它在您的时间方面看起来非常有效。该模块有一个警告说“某些行动可能效率非常低[...](例如,(联合国)转移”)。看起来你的情况不会受到影响。

© www.soinside.com 2019 - 2024. All rights reserved.