Jak mogę pominąć wiersz nagłówka podczas czytania pliku CSV w Ruby? [duplikować]
To pytanie ma już tutaj odpowiedź:
Ignoruj nagłówek podczas analizowania pliku CSV 6 odpowiedziRubyCSV
klasa sprawia, że iteracja każdego wiersza jest całkiem prosta:
CSV.foreach(file) { |row| puts row }
Jednak zawsze zawiera wiersz nagłówka, więc otrzymam jako wynik:
header1, header2
foo, bar
baz, yak
Nie chcę jednak nagłówków. Teraz, gdy dzwonię…
CSV.foreach(file, :headers => true)
Mam ten wynik:
#<CSV::Row:0x10112e510
@header_row = false,
attr_reader :row = [
[0] [
[0] "header1",
[1] "foo"
],
[1] [
[0] "header2",
[1] "bar"
]
]
>
Oczywiście, ponieważ dokumentacja mówi:
To ustawienie powoduje, że #shift zwraca wiersze jako CSV :: Obiekty wiersza zamiast tablic
Ale,jak mogę pominąć wiersz nagłówka, zwracając wiersz jako prostą tablicę? Nie chcę tego skomplikowanegoCSV::Row
obiekt do zwrotu.
Zdecydowanie nie chcę tego robić:
first = true
CSV.foreach(file) do |row|
if first
puts row
first = false
else
# code for other rows
end
end