我有以下代码。它工作得很好,除了我无法摆脱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|
,但它根本不起作用。我对正确的做法感到好奇。谢谢。
答案 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|
在工作表级别执行。但是这条线启发了我! :)