私はCSVファイルを持って、id、firstname、lastnameという3つの列を持つことができます。 私はこのファイルをTSVファイルに変換するためにText :: CSVを使用していますが、id列も削除する必要があります。Text :: CSVモジュールを使用してPerlでCSVファイルの列をフィルタリングする方法は?
このコードは終了しましたが、間違って目的の列がエクスポートされます。最後のファイルにはファーストネーム、ラストネームヘッダーが含まれていますが、代わりにIDとファーストネームが使用されます。
my $fhin;
open($fhin, "<", "input.csv");
my $fhout;
open($fhout, ">", "output.tsv");
my $csv = Text::CSV->new({binary => 1});
my $tsv = Text::CSV->new({binary => 1, sep_char => "\t", eol => "\n", quote_char => undef});
$csv->column_names(qw(firstname lastname));
$tsv->column_names(qw(firstname lastname));
while (my $row = $csv->getline_hr($fhin)) {
$tsv->print_hr($fhout, $row);
}
close($fhin);
close($fhout);
は、私がここにドキュメントをお読みください。
http://search.cpan.org/~makamaka/Text-CSV-1.33/lib/Text/CSV.pm
私のコードで何が悪いのでしょうか?
input.csv実際
firstname lastname
1 John
コードに2つの欠落部分を追加しました(最初のnew()呼び出し)。 – papaiatis