Ruby-按列对CSV文件中的数据进行分组

时间:2018-11-08 08:22:46

标签: ruby csv group-by

我有一个如下所示的CSV文件:

Computer
----------
Jacob
Bob

Arts
------
Ryan
Grace

Science
--------
Charlie

我需要阅读此CSV文件,并根据他们的信息流对学生进行分组。输出应如下所示:

group_by

我尝试使用<application android:name="android.support.multidex.MultiDexApplication" ... ,但不确定如何以及在何处使用它。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

我假定您具有以下内容的csv文件:

Name,Stream
Jacob,Computer
Ryan,Arts
Bob,Computer
Charlie,Science
Grace,Arts

您可以使用类似的东西

require 'csv'    

result = {}
file = File.read('path_to_your_file')
csv = CSV.parse(file, headers: true)
csv.each do |row|
  if result[row[1]]
    result[row[1]].push row[0]
  else
    result[row[1]] = [row[0]]
  end
end

您将获得result变量,该变量包含一个哈希,其中每个流都将与一个名称数组相关联