Me gustaría analizar un archivo CSV para que cada fila se trate como un objeto y la fila de encabezado sea el nombre de los atributos en el objeto. Podría escribir esto, pero estoy seguro de que ya está ahí afuera.Analizar archivo CSV con campos de encabezado como atributos para cada fila
Aquí es mi entrada CSV:
"foo","bar","baz"
1,2,3
"blah",7,"blam"
4,5,6
El código sería algo como esto:
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 módulo CSV de Ruby Creo que sólo puede acceder a los campos de índice. Creo que el código anterior sería un poco más legible. ¿Algunas ideas?
FasterCSV se incorporó a Ruby, creo que fue en Ruby 1.9+. –