您好我正在尝试阅读csv文件说first.csv
并在其中选择一些列并将这些列写入新的csv文件new.csv
。
这是我的代码: -
my $csv = Text::CSV->new();
open (my $fh , "first.csv") or die "cannot open $file\n";
open (my $mh , "new.csv") or die "cannot open file $!\n";
while (my $row = $csv->getline($fh)){
my $id = $row->[0];
my $words = $row->[2];
my $bits = $row->[3];
}
close $fh;
在此之后,我不知道如何只将这些$id,$words,$bits
写入new.csv
。
任何人都可以帮我做。
答案 0 :(得分:2)
你不能这样做:(未经测试)
$csv->print($mh, [$id, $words, $bits]);
来自Text::CSV文档:
$status = $csv->print ($io, $colref); # Write an array of fields
# immediately to a file $io
答案 1 :(得分:1)
perl -MText::CSV -e'my $csv = Text::CSV->new();while(my $row = $csv->getline(ARGV)){$csv->print(STDOUT, [@$row[0,2,3]])}' first.csv > new.csv