Форум сайта python.su
Всем доброго времени суток. Вот скажем у меня есть .txt документ в котором хранятся примерно такие данные:
10:09:55.192 ComponentA 0 INFO description
10:09:55.193 ComponentA 0 INFO description
10:09:55.193 ComponentA 0 INFO description
10:09:55.193 ComponentA 0 INFO description
10:09:55.193 ComponentB 0 INFO description
- это маленький отрезок этих данных, на самом деле их может быть на пару гигов.
Так вот мне нужно вывисти данные примерно в таком виде:
ComponentA - 888 (общее количество компонентов А из всего txt файла)
ComponentA + ComponentB + ComponentC + ComponentD - 999 (Общее количество компонентов А,Б,С и тд.)
Тоесть мне нужно подсчитать количество ComponentN из .txt файла и их сумарное количество.
Заранее благодарен .
Офлайн
Примерное решение:
- читаем строку из файла
- разбиваем её на элементы командой split
- формируем словарь (ключом будет компонент, значение - кол-во)
- выводим данные из словаря
Офлайн
А можно как то понаглядней?)
Офлайн
Решение в лоб
res = {} with open("data.dat", "r") as f: for i in f: comp = i.split()[1] res.setdefault(comp, 0) res[comp] += 1 print re
Офлайн
Вот что выдает:
Traceback (most recent call last):
File “DWork/Phyton/112”, line 6, in <module>
comp = i.split()
IndexError: list index out of range
не подскажите вчем дело?
Офлайн
Смотрите какие получаются строки из файла или другая структура у вашего файла.
Офлайн
GrinaderОткройте файл в notepad и скриншот сюда.
не подскажите вчем дело?
Офлайн
Извеняюсь что так долго… ну вообщем вот скрин
Прикреплённый файлы: Безымянный.png (23,4 KБ)
Офлайн
1) Посмотреть ваш txt-файл с данными.
2) В скрипте у вас ошибки:
в 4-й строке опечатка “i.splint” должно быть “i.split”
в 7-й строке дописать “print res”
Офлайн
exemple.txt надо было показать
Офлайн