如何使用perl在csv文件的末尾附加一个额外的列?我无法使用Text::CSV
因为我使用的是 5.8.8 版,并且此处未安装该软件包。我无法升级到较新的 perl 版本。我首先将几个较小的 CSV 文件合并为一个,然后我需要为最终文件添加一个额外的列。我已将最终文件的句柄声明为 SUB。
这是我的代码片段:
my $file = "/tmp/Sub_test_".$row.".csv";
# the $row is in a loop..so it comes as 1,2 etc.
open my $fh, "<", $file;
<$fh> unless $file eq "/tmp/Sub_test_1.csv";
print SUB while <$fh>;
我需要添加一个带有标题"count"的额外列,该值应$row
.
它只是您要添加的行数吗?
这会将 ,count 附加到第一行,将 ,$.(这是行号)附加到其余部分。
然后尝试
$ perl -e 'while (<>){chomp;if ($. ==1){print "$_,countn"} else {print "$_,".($.-1)."n"}}' your.csv
tmp.csv
one,two,three
4,5,6
2,3,4
6,7,1
$ perl -e 'while (<>){chomp;if ($. ==1){print "$_,countn"} else {print "$_,".($.-1)."n"}}' tmp.csv
one,two,three,count
4,5,6,1
2,3,4,2
6,7,1,3