ねもぷらす

ふぁいんでぃんぐねもの日記。プログラミングとか育児とか

課題への挑戦(修正メモ)

もっとアッサリ書けることに今更気付いたのでメモ。

Ruby

#!/usr/bin/ruby -w
require 'csv'

code = {}
CSV.open("code.csv", "r") do |c|
  code[c[0]] = c
end

CSV.open("master.csv", "r") do |m|
  puts [ m + code[m[0]] ].join(",")
end

Python

#!/usr/bin/python
import csv

code = {}
for c in csv.reader(file('code.csv', 'r')):
    code[c[0]] = c

for m in csv.reader(file('master.csv', 'r')):
    print ','.join(m + code[m[0]])

Perl

今度は Perl がダメというorz

#!/opt/local/bin/perl -w
use strict;
use warnings;
use Data::Dumper;
use Text::CSV_XS;

my $csv = Text::CSV_XS->new( {
        quote_char          => ’’,
        escape_char         => ’’,
        sep_char            => ’,’,
        eol                 => $\,
    } );
my ( $io, $code );

open $io, "< code.csv";
while ( my $row = $csv‐>getline ( $io ) ) {
    #...
}
close $io;

open $io, "< master.csv";
while ($row = $csv‐>getline($io)) {
    #...
}
close $id;

exit 0;
  • 実行結果
$ ./csvConv2.pl 
Unrecognized character \xE2 at ./csvConv2.pl line 8.

後回し。