首页 > 解决方案 > 从 csv 获取哈希元素后无法访问它们

问题描述

我有一个 cvs,我想访问这些值。如果我这样做:

    require 'csv'   
    CSV.foreach(filename, headers: true) do |row|
      new_row = row.to_hash
      puts "#{new_row}"
    end

这是结果->{"user_id"=>"111", "sport"=>"aaa"}

但是如果我这样做,什么都不会打印

    require 'csv'   
    CSV.foreach(filename, headers: true) do |row|
      new_row = row.to_hash
      puts "#{new_row["user_id"]}"
    end

为什么是这样?我怎样才能得到信息?

标签: ruby-on-railsrubycsv

解决方案


尝试使用符号而不是字符串来查找键

require 'csv'   
  CSV.foreach(filename, headers: true) do |row|
  new_row = row.to_hash
  puts new_row[:user_id]
end

推荐阅读