0

行をIDで配列に解析するにはどうすればよいですか?

例:

id  | name |  descritption
---------------------------
1   | eg1  | dummytext1
1   | eg2  | dummytext2
2   | eg3  | dummytext3
2   | eg4  | dummytext4

質問の例、ID が 2 の行を配列に解析するにはどうすればよいですか?

4

1 に答える 1

1
result = Hash.new { |h,k| h[k] = Hash.new { |j,l| j[l] = [] } }

FasterCSV.foreach( "yourfile.csv", :headers=>true, :header_converters=>:symbol ) do |line|
  if line[:id] == 2
    result[:id][:name] << line[:name]
    result[:id][:descritption] << line[:descritption]
  end
end

このコードはテストされていないことに注意してください。

CSVライブラリに関するドキュメントはこちら

于 2012-10-18T13:46:03.250 に答える