de Ruby CSV
hace que sea muy fácil de iterar sobre cada fila:¿Cómo puedo omitir la fila del encabezado cuando leo un archivo CSV en Ruby? clase
CSV.foreach(file) { |row| puts row }
Sin embargo, esto siempre incluye la fila de encabezado, por lo que obtendrá como salida:
header1, header2
foo, bar
baz, yak
no lo hago querer los encabezados sin embargo. Ahora, cuando llamo ...
CSV.foreach(file, :headers => true)
puedo obtener este resultado:
#<CSV::Row:0x10112e510
@header_row = false,
attr_reader :row = [
[0] [
[0] "header1",
[1] "foo"
],
[1] [
[0] "header2",
[1] "bar"
]
]
>
Por supuesto, debido a que la documentación dice:
Esta configuración hace que #shift para volver filas como CSV: : Objetos de fila en lugar de matrices
Pero, cómo puede Me salteo la fila del encabezado, devolviendo la fila como una matriz simple? No quiero que se devuelva el objeto complicado CSV::Row
.
Definitivamente no quiero hacer esto:
first = true
CSV.foreach(file) do |row|
if first
puts row
first = false
else
# code for other rows
end
end
check http://stackoverflow.com/a/37856698/473040 – equivalent8