Для многих профессий требуется рассматривать текст "под лупой", находя излишние слова и повторы. Актуально для сеошников, копирайтеров и рерайтеров. Ведь текст - деньги.
Python для этих целей может быть инструментом №1. Попробуем взять текстовую строку и найти в ней повторы. Вместо строчки может быть абзац или полностью статься.
Из модулей мы будем использовать встроенный collections из которого импортируем класс Counter
класс collections.Counter() пробегается по итерируемой последовательности и возвращает словарик ключ-значение, где:
- ключ - элемент в последовательности
- значение - число повторений элемента
Проверим на деле:
Да, незадача. С этим я столкнулся когда только начинал изучать Python.
Как правильно?
Для наших целей нужно сделать так, чтобы функционал бил по словам. Для этого мы превратим строку в список слов. Критерием разделения будет пробельный символ, который мы укажем в строковом методе split()
split() просмотрит всю строку и в случае обнаружения разделителя (задается в скобках) дробит строку на список элементов.
Пробел — разделитель по умолчанию, поэтому его можно не указывать.
Другое дело! но не всегда есть желание копаться в терминальной выдаче. Давайте превратим выдачу в файл... в эксельку жахнем :-)
Я не буду углубляться в тему, которая отходит от этого поста. В комментариях напишите если это будет нужно и я напишу отдельный пост.
Мы из словаря (выдача выше) сделаем:
- Список: Нужно для лучшего форматирования табличной части
- Конвертация в объект Pandas: в три строки сделаем то, что ранее было в 30-40 строках кода. При конвертации зададим имена столбикам.
- Сохраним сформированный объект в файлик.
Поехали
1. Словарь в список
2. Pandas. Его надо доставить как модуль и импортировать
2a. Поправим сортировочку - не дело потом средствами экселя это делать. Зададим сортировку по убыванию числа повторений. Заодно краткий эксурс по параметрам сортировки пройдете :-) :
Объект готов для сохранения, но чтобы Python умел обращаться с детищем майкрософта - нужен модуль. Для экспорта в формат xlsx нужен openpyxl. Импортировать его в теле скрипта не требуется, так как он подтянется средствами Pandas:
Должно получиться как-то так:
Весь код я разбивал для удобства визуализации, без нее и комментариев экспорт в 4 строки :-). Можно было еще почистить от знаков препинания, но это точно уже другая тема. :-)
Надеюсь в определенный момент изучения этот прием вам пригодится.
Подписывайтесь, ставьте лайки. Я очень надеюсь на долгосрочное развитие этого канала. Мне важен любой комментарий, совет или наставление. Мира вам :-)