- 11 名前:デフォルトの名無しさん mailto:sage [2021/05/26(水) 22:11:44.89 ID:XGTO2klA0.net]
- 入力データは違うけど、Ruby で作ってみた
require 'csv' tmp_hash = { } input_ary = CSV.read( "input.csv" ) # 2次元配列 input_ary.each do | row | # 1行ずつ処理する if tmp_hash.has_key? row[ 0 ] # 既に、その数字が存在すれば # 文字列が存在しない時だけ、その文字列を追加する tmp_hash[ row[ 0 ] ][ row[ 1 ] ] = true unless tmp_hash[ row[ 0 ] ].has_key? row[ 1 ] else tmp_hash[ row[ 0 ] ] = { row[ 1 ] => true } end end result_ary = tmp_hash.map do |num, hash| ary = hash.map { |str, b_true| str } [ num, *ary ] # 配列展開 end # p result_ary # 2次元配列 # [["1", "A"], ["2", "B", "C"], ["3", "X"]] csv_str = result_ary.map( &:to_csv ).join # 2次元配列を、CSV 文字列に変換する print csv_str 出力 1,A 2,B,C 3,X
|

|