Ruby 的CSV
类使得遍历每一行变得非常容易:
CSV.foreach(file) { |row| puts row }
但是,这总是包括标题行,所以我会得到输出:
header1, header2
foo, bar
baz, yak
我不想要标题。现在,当我打电话时……</p>
CSV.foreach(file, :headers => true)
我得到这个结果:
#<CSV::Row:0x10112e510
@header_row = false,
attr_reader :row = [
[0] [
[0] "header1",
[1] "foo"
],
[1] [
[0] "header2",
[1] "bar"
]
]
>
当然,因为文档说:
此设置导致 #shift 以 CSV::Row 对象而不是数组的形式返回行
但是,如何跳过标题行,将该行作为简单数组返回?我不希望CSV::Row
返回复杂的对象。
我绝对不想这样做:
first = true
CSV.foreach(file) do |row|
if first
puts row
first = false
else
# code for other rows
end
end