Analiza el archivo CSV con campos de encabezado como atributos para cada fila
Me gustaría analizar un archivo CSV para que cada fila se trate como un objeto con la fila del encabezado como los nombres de los atributos en el objeto. Podría escribir esto, pero estoy seguro de que ya está disponible.
Aquí está mi entrada CSV:
"foo","bar","baz"
1,2,3
"blah",7,"blam"
4,5,6
El código se vería así:
CSV.open('my_file.csv','r') do |csv_obj|
puts csv_obj.foo #prints 1 the 1st time, "blah" 2nd time, etc
puts csv.bar #prints 2 the first time, 7 the 2nd time, etc
end
Con el módulo CSV de Ruby, creo que solo puedo acceder a los campos por índice. Creo que el código anterior sería un poco más legible. ¿Algunas ideas?