PerlでCSV2YAML変換

大量のCSVレコードから、YAML形式のレコードへ変換する必要があったのでやっつけPerlのメモ。

当然ながら、エラー処理等は一切無視

ファイルパス、フィールド番号、フィールドマップは要変更

 

#!/usr/bin/perl
my $csvfile = '/path/to/csv/***.csv';

# modules
use strict;
use warnings;
use Text::CSV::Simple;
use YAML::Tiny;

# csv用パーサ作成
my $parser = Text::CSV::Simple->new({binary=>1});

# csvパース
$parser->want_fields(0,1,2, ...(カンマ区切り)..., 999);
$parser->field_map(qw/field1 field2 ... (SP区切り) ... fieldX/);
my @csv = $parser->read_file($csvfile);
print YAML::Tiny::Dump(@csv);

exit(0);