我是Ruby的新手,如果这很容易就道歉: - )
我有一个包含5列的.csv文件。第一列具有记录标识符(在这种情况下是驱动程序编号),每行中的其他4列具有与该记录相关的数据。对于每条记录,大约有50行数据(总共不到2,000行)。 .csv文件有一个标题行。
我需要阅读.csv文件并确定每个用户的最后一个条目,这样我就可以转到下一个用户了。我试图让它来比较第一列和下一行的条目。
到目前为止我有这个,它返回错误的行号,它们在1到5行之间的任何地方......?!?!
require 'csv-mapper'
Given(/^I compare the driver numbers from rows "(.*?)" to "(.*?)"$/) do |firstrow, lastrow|
data = CsvMapper.import('C:/auto_test_data/Courts code example csv.csv', headers: true) do
[dln]
end
row = firstrow.to_i
while row <= lastrow.to_i
@licnum1 = data.at(row).dln
@licnum2 = data.at(row+1).dln
if
@licnum2 == @licnum1
$newrecord = "same"
else
$newrecord = @licnum2
end
if
$newrecord != "same"
puts "Last row for #{@licnum1} is #{row}\n"
end
row = row + 1
end
end
这是.csv文件的布局:
recordidentifier1 dataitem1 dataitem2 code descriptionforcomparison
recordidentifier1 dataitem1 dataitem2 code descriptionforcomparison
recordidentifier2 dataitem1 dataitem2 code descriptionforcomparison
recordidentifier2 dataitem1 dataitem2 code descriptionforcomparison
非常感谢所有帮助。
谢谢,
彼得
答案 0 :(得分:0)
这是一种方法
UserWizard = {
init: function(name) {
this.firstInit.call(name);
this.secondInit.call(name);
},
firstInit: function(name) {
// ...
},
secondInit: function(name) {
// ...
}
}