Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 11, 2018 23:52:41

Ders
Зарегистрирован: 2014-02-19
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Подсчет определенных слов входящих в файл - Python

Здравствуйте.
Требуется вычислить процент определенных слов от общего количества этих слов в файле.

Есть такой код, но

from collections import Counter
import re
list =
words = re.findall(r'\w+', open('C:\\Users\\python\\text.txt', ‘r’).read().lower())
qwer = Counter(w for w in words if w not in list)
print (qwer)

но как ввести поиск по словам мне не ясно. И как высчитать проценты тоже…

Прикреплённый файлы:
attachment text.txt (908 байт)

Офлайн

#2 Апрель 12, 2018 10:00:53

vic57
Зарегистрирован: 2015-07-07
Сообщения: 893
Репутация: +  126  -
Профиль   Отправить e-mail  

Подсчет определенных слов входящих в файл - Python

 >>>import re
>>>from collections import Counter
>>> doc='''На мир таинственный духов,
Над этой бездной безымянной,
Покров наброшен златотканный
Высокой волею богов.
День – сей блистательный покров
День, земнородных оживленье,
Души болящей исцеленье,
Друг человеков и богов!
Но меркнет день – настала ночь;
Пришла – и с мира рокового
Ткань благодатную покрова
Сорвав, отбрасывает прочь…
И бездна нам обнажена
С своими страхами и мглами,
И нет преград меж ей и нами –
Вот отчего нам ночь страшна!'''
>>> lst = [i.lower() for i in re.split(r'[^а-яА-Я]',doc) if i]
>>> c = Counter(lst)
>>> summ = sum(c.values())
>>> d = {i[0]:round(i[1]/summ*100,2) for i in c.items()}
>>> d
{'на': 1.54, 'мир': 1.54, 'таинственный': 1.54, 'духов': 1.54, 'над': 1.54, 'этой': 1.54, 'бездной': 1.54, 'безымянной': 1.54, 'покров': 3.08, 'наброшен': 1.54, 'златотканный': 1.54, 'высокой': 1.54, 'волею': 1.54, 'богов': 3.08, 'день': 4.62, 'сей': 1.54, 'блистательный': 1.54, 'земнородных': 1.54, 'оживленье': 1.54, 'души': 1.54, 'болящей': 1.54, 'исцеленье': 1.54, 'друг': 1.54, 'человеков': 1.54, 'и': 9.23, 'но': 1.54, 'меркнет': 1.54, 'настала': 1.54, 'ночь': 3.08, 'пришла': 1.54, 'с': 3.08, 'мира': 1.54, 'рокового': 1.54, 'ткань': 1.54, 'благодатную': 1.54, 'покрова': 1.54, 'сорвав': 1.54, 'отбрасывает': 1.54, 'прочь': 1.54, 'бездна': 1.54, 'нам': 3.08, 'обнажена': 1.54, 'своими': 1.54, 'страхами': 1.54, 'мглами': 1.54, 'нет': 1.54, 'преград': 1.54, 'меж': 1.54, 'ей': 1.54, 'нами': 1.54, 'вот': 1.54, 'отчего': 1.54, 'страшна': 1.54}
>>> 

Отредактировано vic57 (Апрель 12, 2018 10:09:09)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version