0

如何在 perl 中将二维数组输出到 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;

什么是有效的方法来做到这一点?

4

1 回答 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";

至于效率,就您的时间而言,它看起来非常有效。该模块有一个警告说“某些操作可能非常低效[...](例如),(un)shift-ing”。不过,您的案件似乎不会受到影响。

于 2013-03-27T08:15:02.013 回答