我有一个文件,其中的一部分作为示例,如下所示,其中包含一个时间戳字段:
20161203001211,00
20161203001200,00
20161203001500,102
20161203003224,00
20161203001500,00
20161203004211,00
20161203005659,102
20161203000143,103
20161202001643,100
....
我想根据时间戳处理此文件,以计算 15 分钟间隔内的出现次数。我知道如何每分钟做一次,我也使用awk
脚本在 10 分钟间隔内完成,但不知道如何才能在 15 分钟间隔内获得以下输出:
startTime-endTime total SUCCESS FAILED
20161203000000-20161203001500 5 3 2
20161203001500-20161203003000 2 1 1
20161203003000-20161203004500 2 2 0
20161203004500-20161203010000 1 0 1
20161202000000-20161202001500 0 0 0
20161202001500-20161202003000 1 0 1
....
00 表示成功,其他情况表示失败记录。
是的,它是 24 小时,所以一天中的每个小时应该有 4 条间隔打印记录。
在时间戳数据文件上编写报告;复杂的要求
虽然最初的问题有点复杂,但问题的背景使它变得相当困难。其他情况(如聊天中所述):
python2
解释
最终结果过于全面,无法详细解释,但是,对于那些感兴趣的人,头条新闻:
int(n)
),然后再次乘以900,计算它们所属的 15 分钟部分itertools
随后按'对行进行排序和分组,并在( )groupby
的帮助下生成每组的结果ifilter
python2
尽管数据量很大,但该脚本却能很好地完成这项工作。在处理时,处理器在我 10 多年的旧系统上显示大约 70% 的占用,运行稳定。该计算机仍然可以很好地用于其他任务。
剧本
输出的小样本