-1

我有以下 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
4

2 回答 2

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

不太确定您是如何设置脚本的,但这只是一个想法。

于 2018-07-12T19:57:04.700 回答
-1

使用字典存储表,key为日期和ip_address的组合,value为计数器。

于 2018-07-12T19:54:40.590 回答