CSVのヘッダーをハッシュのキーとして使って行の要素にアクセスする

ruby-2.0.0-p0
CSVを読み込む時に配列要素番号で拾うと後で読む気がしなくなります。

# test.csv
id, name
1, a
2, b
3, c
# array_to_hash.rb
require "csv"

csv = CSV.open("test.csv")
header = csv.shift

csv.each do |row|
  p Hash[header.zip(row)]
end
$ ruby array_to_hash.rb
{"id"=>"1", " name"=>" a"}
{"id"=>"2", " name"=>" b"}
{"id"=>"3", " name"=>" c"}