Ruby CSV头不在第一行

Ruby CSV头不在第一行,ruby,csv,Ruby,Csv,我想用(headers:true选项)读取CSV文件,但文件的前5行包含不需要的数据。所以我希望第6行是一个标题,并开始读取第6行的文件 但是当我读取一个文件CSV.readlines(“my_file.CSV”,headers:true)时,删除(5), 它仍然使用第1行作为标题。如何将第6行设置为标题?在启动CSV之前预读垃圾行 require 'csv' File.open("my_file.csv") do |f| 5.times { f.gets } csv = CSV.ne

我想用(headers:true选项)读取CSV文件,但文件的前5行包含不需要的数据。所以我希望第6行是一个标题,并开始读取第6行的文件

但是当我读取一个文件
CSV.readlines(“my_file.CSV”,headers:true)时,删除(5)

它仍然使用第1行作为标题。如何将第6行设置为标题?

在启动CSV之前预读垃圾行

require 'csv'

File.open("my_file.csv") do |f|
  5.times { f.gets }
  csv = CSV.new(f, headers: true)
  puts csv.shift.inspect
end
这是我的解决办法

require 'csv'

my_header = CSV.readlines("my_file.csv").drop(5).first

CSV.readlines("my_file.csv", headers: my_header).drop(6) do |row|

 do something .....
end

可能的重复只是扩展循环以读取前x行。如果前5行有标志,则可以使用跳过行选项。参见上的示例