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 回答