如何使用RUBY比较CSV中的交替行

时间:2018-02-20 09:50:12

标签: ruby csv

我有一个包含数千行的数据集。我想计算ALARM_OPENED和ALARM_NORMALIZED之间的闹钟切换次数

这是一个数据样本。警报切换两次,因此理想情况下为count = 2

enter image description here

现在的问题是我无法想象如何

1)比较事件类型

的ALARM _OPENED和ALARM_NORMALIZED

2)比较事件变化之间的时间差(切换应该在两秒的时间范围内发生。)

count = 0 
#loop this 
if event_type[0] = 'ALARM_OPENED' 
  if event_type[1] = 'ALARM_NORMALIZED'
    #time[0] - time[1] = 2 seconds
    count = count + 1
  end
end

p count

1 个答案:

答案 0 :(得分:0)

如果您可以假设您总是拥有一堆OPENED / NORMALIZED对,则可以将数组切成一对:

event_type.each_slice(2) do |opened, normalized|
  break unless normalized # unpaired event at the end
  # whatever you want to do with the two events here
end