如何使用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