perl csv追加专栏问题

时间:2014-12-16 10:39:38

标签: perl csv

如何使用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

1 个答案:

答案 0 :(得分:1)

它只是您要添加的行数吗?

这会将,计数添加到第一行,将,$。(这是行号)添加到其余行。

然后尝试

$ perl -e 'while (<>){chomp;if ($. ==1){print "$_,count\n"} 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 "$_,count\n"} else {print "$_,".($.-1)."\n"}}' tmp.csv

one,two,three,count
4,5,6,1
2,3,4,2
6,7,1,3