Ruby CSV头不在第一行
我想用(headers:true选项)读取CSV文件,但文件的前5行包含不需要的数据。所以我希望第6行是一个标题,并开始读取第6行的文件 但是当我读取一个文件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
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行有标志,则可以使用跳过行选项。参见上的示例