将CSV数据存储在Ruby哈希中

mbm*_*mbm 3 ruby hash

假设我有一个包含4个字段的CSV文件,

ID,name,pay,age
Run Code Online (Sandbox Code Playgroud)

和大约32,000条记录.

什么是在Ruby中将其粘贴到哈希中的最佳方法?

换句话说,示例记录如下所示:

{:rec1 => {:id =>"00001",:name =>"Bob",:pay => 150,:age => 95}}

谢谢您的帮助!

Jac*_*kin 5

您可以使用Excelsiorrubygem:

csv = ...
result = Hash.new
counter = 1
Excelsior::Reader.rows(csv) do |row|
   row_hash = result[("rec#{counter}".intern)] = Hash.new

   row.each do |col_name, col_val|
      row_hash[col_name.intern] = col_val
   end
   counter += 1
end

# do something with result...
Run Code Online (Sandbox Code Playgroud)