在ruby中指定foreach枚举器的起始点

时间:2014-04-06 18:44:51

标签: ruby-on-rails ruby enumeration

我有一个rake文件,它从外部CSV文件中提取数据并通过它枚举:

CSV.foreach(file, :headers => true) do |row|

在电子表格中指定起点的最有效方式(在ruby中)是什么?

:headers => true允许我从第二行开始导入,但如果我想开始第20行怎么办?

2 个答案:

答案 0 :(得分:0)

Ruby枚举器包含一个drop method,它将跳过第一个n项。

如果未传递阻止,CSV.foreach将返回一个枚举数。

您可以使用

CSV.foreach(file, :headers => true).drop(20).each do |row|

这将跳过前20个数据行(标题行不算作这20个中的一个)。

答案 1 :(得分:0)

使用.drop(#rows忽略):

CSV.open(file,:headers => true)。drop(20).each do | row |