22/12/14 00:06:08.81 nVtbdKmj0.net
>>99
試しに、Ruby で作ってみた。
詳しくは、Python のスレで聞いてください!
require 'csv'
options = { :headers => true } # ヘッダー有り
# ID でグループ化したものは、各グループが、{ key => CSV::Row の配列 }
result_ary = CSV.foreach( "input76_5.csv", options ).
group_by { |row| row[ "ID" ] }. # ID でグループ化する
each_with_object( [ ] ) do | ( key, val_ary ), ary|
# NAME, JOB を配列に追加していく
tmp_ary = val_ary.map{ |row_2| row_2.fields( "NAME", "JOB" ).flatten }.flatten
tmp_ary.unshift( key ) # 配列の先頭に、ID を加える
ary.push tmp_ary
end
# 2次元配列を、CSV 文字列に変換する
csv_str = result_ary.map( &:to_csv ).join
print csv_str
出力
A,Yamada,NEET,Katoh,Pilot,Ohno,Police
B,Tanaka,NEET,Satoh,Youtuber,Fukuda,Gamer