gpt4 book ai didi

ruby - 在不读取 Ruby 中的标题行的情况下打开 CSV

转载 作者:太空宇宙 更新时间:2023-11-03 17:47:38 25 4
gpt4 key购买 nike

我正在使用 Ruby 打开 CSV:

CSV.foreach(file_name, "r+") do |row|
next if row[0] == 'id'
update_row! row
end

而且我真的不关心标题行。

我不喜欢 next if row[1] == 'id' 内部循环。无论如何告诉 CSV 跳过标题行并只遍历带有数据的行?

我假设提供的 CSV 总是有一个标题行。

最佳答案

有几种方法可以解决这个问题。最简单的方法是将 {headers: true} 选项传递给您的循环:

CSV.foreach(file_name, headers: true) do |row|
update_row! row
end

注意没有指定模式 - 这是因为根据文档,CSV::foreach仅将文件和选项散列作为其参数(与 CSV::open 相反,后者确实允许指定模式。

或者,您可以将数据读入数组(而不是使用 foreach),然后在遍历数组之前移动数组:

 my_csv= CSV.read(filename)
my_csv.shift
my_csv.each do |row|
update_row! row
end

关于ruby - 在不读取 Ruby 中的标题行的情况下打开 CSV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32234861/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com