通过删除PERL中的某些列,从另一个CSV文件创建CSV文件
您好,我正在尝试读取一个csv文件,比如说通过删除PERL中的某些列,从另一个CSV文件创建CSV文件,perl,csv,Perl,Csv,您好,我正在尝试读取一个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 $ro
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
。
谁能帮我做这件事 你就不能这样做吗:(未经测试)
从文件中:
$status = $csv->print ($io, $colref); # Write an array of fields
# immediately to a file $io
我不知道perl,但是CSV文件在后续列之间有逗号。所以,你可能只需要写$id+“,“+$words+”,“+$bits+”\n”就可以了。CSV的格式很简单:只需打印:
print qq{“$id”,“$words”,“$bits”\n}代码>
$status = $csv->print ($io, $colref); # Write an array of fields
# immediately to a file $io
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