举个数据例子

楚楚,预发-阿里云杭州正式部署成功,1575521902000,1575521902000,成功
楚楚,代码合并成功 ,1575520953000,1575520953000,成功
楚楚,代码合并冲突 ,1575520846000,1575520846000,失败
楚楚,代码合并冲突 ,1575520764000,1575520764000,失败
楚楚,代码合并冲突 ,1575519776000,1575519776000,失败
楚楚,代码将变更 ,1575519698000,1575519698000,成功

这样的数据,需取出冲突时间,两种办法

一种是,当匹配到合并成功行后,逐行进行时间相减

也就是,冲突1-成功,冲突2-冲突1,冲突3-冲突2,几段时间相加也就是总冲突时间,这种适合数据较乱的情况

如果是例子数据,那么使用for循环很好搞

设读取的数据存在list templist中

      latestmerge = 'true'for m in tempList:
               if m[7] == 'codemergesuccess' and latestmerge == 'true':
                     onemergeSuctime = m[3]
                     latestmerge = 'false'
               elif m[7] == 'codemergefail':
                     onemergeFailtime = m[3]

这样子的话,当匹配到“代码合并冲突”,就会循环给onemergeFailtime进行赋值,直到最后一个冲突时间;

latestmerge = 'true' 作为后面数据处理的一个判断,只对第一次匹配进行赋值,如果期间夹杂了多余的合并成功,也不进行赋值;

---想的很简单,供大家参考

12-17 08:57