私はperlで助けが必要です、ハッシュの形で私のcsvファイルの出力を取得するためのコードを書く方法。 出力はハッシュのように見える必要があります。出力用のハッシュを作成する必要はありません。配列を使用して出力をフォーマットできるようにすることができます。
質問する
90 次
1 に答える
3
メソッドgetline_hrを提供するText::CSVを使用します。このメソッドはCSV ファイル全体を返すのではなく、行のハッシュのみを返します。csv全体で1つのハッシュが必要な場合は、インデックスを作成する方法はあなた次第です.
use Text::CSV;
my $csv = Text::CSV->new;
$csv->column_names( qw/ id col1 col2 / );
while ( not $csv->eof ) {
my $row = $csv->getline_hr($fh);
if ( $csv->error_diag ) {
last if $csv->eof;
my ( $err, $text ) = $csv->error_diag;
die $err, $text;
$csv->SetDiag(0);
next;
}
use Data::Dumper;
print Dumper $row;
}
行をハッシュデータベースに追加する必要があります。
my %hashdb;
while ( not $csv->eof ) {
my $row = $csv->getline_hr($fh);
$hashdb{$row->{id}} = $row;
...
于 2013-02-17T05:41:54.817 に答える