我有以下test.txt数据,并且我想检查每种状态的发生并将其显示为摘要输出。我可以使用以下逻辑
来计算该状态发生了多少次for line in file:
if 'success' in line: count+=1
但是我无法添加一列并将其添加到末尾,就像我的输出一样。任何帮助将不胜感激。
Sample Input
-------------------------
11/11/2015 9.9.9.9 30s success
11/11/2015 9.9.9.8 30s stuck
11/11/2015 9.9.9.9 30s Sync
11/11/2015 9.9.9.9 30s success
11/12/2015 9.9.9.9 30s success
11/12/2015 9.9.9.9 30s stuck
11/12/2015 9.9.9.9 30s stuck
11/12/2015 9.9.9.9 30s success
11/12/2015 9.9.9.8 30s success
11/12/2015 9.9.9.9 30s success
11/12/2015 9.9.9.9 30s stuck
11/12/2015 9.9.9.9 30s success
11/12/2015 9.9.9.9 30s Sync
11/12/2015 9.9.9.9 30s Sync
--------------------Output I want -------------------------
11/11/2015 9.9.9.9 success 2
11/11/2015 9.9.9.8 stuck 1
11/11/2015 9.9.9.9 Sync 1
11/12/2015 9.9.9.9 success 4
11/12/2015 9.9.9.9 stuck 3
11/12/2015 9.9.9.9 Sync 2
11/12/2015 9.9.9.8 success 1
答案 0 :(得分:0)
假设您正在写入的文本文件可以使用类似以下格式的格式,但根据您设置行和值的方式进行更改。
with open('output.txt','w') as f:
line = 'something'
value = 2
f.write(line + str(value))
这应该给你输出'something2'
要删除重复项
for line in lines:
read = []
if line not in read:
read.append(line)
do something with it
else:
add current count to previous values
不太确定如何设置脚本,但这只是一个主意。
答案 1 :(得分:-1)
使用字典存储表,键作为日期和ip_address的组合,值作为计数器。