举个数据例子
楚楚,预发-阿里云杭州正式部署成功,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' 作为后面数据处理的一个判断,只对第一次匹配进行赋值,如果期间夹杂了多余的合并成功,也不进行赋值;
---想的很简单,供大家参考