我有简单的csv文件,其中包含以下标题:'NYC'。 我使用CSV获取方法: http://ruby-doc.org/stdlib-2.0.0/libdoc/csv/rdoc/CSV/Row.html#method-i-fetch
问题是,当我使用'NYC'获取时,它可以正常工作,但当我使用'nyc'获取时,它会返回:
KeyError: key not found: nyc
我该如何解决这个问题?
答案 0 :(得分:3)
有一个选项:header_converters
。您可以将其设置为:
:downcase
在标题字符串上调用downcase()。:symbol
标题字符串是向下的,空格用下划线替换,非字字符被删除,最后调用to_sym()。示例:
require 'CSV'
CSV.parse("NYC\nfoo", headers: true, header_converters: :symbol) do |row|
row[:nyc] #=> "foo"
end