我想使用Perl创建一个CSV文件并将一些数据写入其中。是否有办法可以做到这一点?
通常我们使用的是Text::CSV_XS
(上述提到的Class::CSV
就是基于这个模块)
更新:下面的评论者还建议使用Text::CSV
,这将加载Text::CSV_XS
,或如果不可用,则回退到没有XS
依赖项且可能更容易安装的Text::CSV_PP
。
有不止一种方法可以完成它。
在CPAN上还有很多其他选择。
当然,您也可以忽略所有这些,只使用循环、连接和打印:
my @table = (
[ 'a', 'b', 'c'],
[ 1, 2, 3 ],
[ 2, 4, 6 ],
);
for my $row ( @table ) {
print join( ',', @$row ), "\n";
}
只需运行脚本并将输出重定向到文件,完成!或者你可以疯狂地打开文件句柄,并直接打印到文件中。
但是,这种数据处理任务中可能会出现多行字段、嵌入逗号或其他许多奇怪的情况。因此,请小心使用此方法。
我的建议: