Разбор примеров данных с использованием Python

У меня есть следующие данные 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

2 ответа

Предполагая, что это текстовый файл, который вы пишете, вы можете использовать что-то вроде следующего формата, но измените его в зависимости от того, как настроены ваша строка и значение.

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

Не слишком уверен, как у вас настроен скрипт, но это всего лишь идея.

Используйте словарь для хранения таблицы, ключ в качестве комбинации даты и ip_address, значение в качестве счетчика.

Другие вопросы по тегам