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

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

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

在此处输入图像描述

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

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 

如果您可以假设您总是拥有一堆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