跳过在Ruby中使用Creek读取EXCEL文件的第一行

时间:2018-08-08 15:43:53

标签: ruby excel

我有以下代码。它工作得很好,除了我无法摆脱EXCEL文件的第一行。我使用Ruby和模块Creek。

workbook = Creek::Book.new 'file.xlsx'
    worksheets = workbook.sheets

    worksheets.each do |worksheet|
      worksheet.rows.each 2 do |row|
      treatment = row.values[0].to_i
      replicate = row.values[1].to_i
      station = row.values[2].to_i
      sample_depth = row.values[3].to_i
      sample_date = row.values[4].to_s
      top_depth = []
    end
  end
end

我在这里有worksheet.rows.each 2 do |row|,但它根本不起作用。我对正确的做法感到好奇。谢谢。

3 个答案:

答案 0 :(得分:0)

worksheet.rows.each_with_index do |row, index|
  if not index == 0
    treatment = row.values[0].to_i
    ...
  end
end

答案 1 :(得分:0)

Array#each不采用索引偏移量参数。尝试使用Enumerable#drop

worksheets.drop(1).each do |worksheet|
  ...
end

答案 2 :(得分:0)

感谢您的投入。

worksheet.rows.drop(1).each do |row|

实际上可以完成工作。

worksheets.drop(1).each do |worksheet|

在工作表级别执行。但是这条线启发了我! :)