Поиск уникальных слов в текстовом файле в Python
Чтобы найти уникальные слова в текстовом файле в Python, необходимо очистить текст, найти слова, а затем найти уникальные.
Для этого выполните следующие действия:
- Читать текстовый файл в режиме чтения.
- Преобразование текста в нижний или верхний регистр. Мы не хотим, чтобы «apple» отличалось от «Apple».
- Разделить содержимое файла на список слов.
- Удалите слова, заполненные знаками препинания, что-то вроде удаления из слов точек, запятых и т.д.
- Также удалите апострофы.
- Вы также можете добавить сюда дополнительные шаги по очистке текста.
- Теперь найдите уникальные слова в списке, используя For Loop и Membership Operator.
- Найдя уникальные слова, отсортируйте их для представления.
В очистке текста также можно убрать вспомогательные глаголы и т.д.
Пример 1
Теперь мы применим все вышеупомянутые шаги к работе с помощью программы Python.
Возьмем следующий текстовый файл.
Apple is a very big company. An apple a day keeps doctor away. A big fat cat came across the road beside doctor's office. The doctor owns apple device.
text_file = open('data.txt', 'r')
text = text_file.read()
#cleaning
text = text.lower()
words = text.split()
words = [word.strip('.,!;()[]') for word in words]
words = [word.replace("'s", '') for word in words]
#finding unique
unique = []
for word in words:
if word not in unique:
unique.append(word)
#sort
unique.sort()
#print
print(unique)
Вывод:
['a', 'across', 'an', 'apple', 'away', 'beside', 'big', 'came', 'cat', 'company', 'day', 'device', 'doctor', 'fat', 'is', 'keeps', 'office', 'owns', 'road', 'the', 'very']
Ниже приводится список концепций в Python, которые мы использовали в указанной выше программе для поиска уникальных слов:
- open(), чтобы получить ссылку на файловый объект.
- file.read() для чтения содержимого файла.
- str.lower() для преобразования текста в нижний регистр.
- str.split() для разделения текста на слова, разделенные пробелами, например одиночный пробел, новая строка, табуляция и т.д.
- str.strip() для удаления знаков препинания с краев слов.
- str.replace() для замены ничем в конце слов.
- Цикл for для перебора каждого слова в списке слов.
- in – оператор членства, чтобы проверить, присутствует ли уникальное слово.
- list.append(), чтобы добавить слово в уникальный список.
- list.sort() для сортировки уникальных слов в лексикографическом порядке возрастания.
- print() для печати списка уникальных слов.
В этом руководстве мы узнали, как находить уникальные слова в txt файле с помощью примера.
Автор
Хороший пример. Также, для укорачивания и простоты кода, можно сразу после очистки слов, преобразовать список в set, где объекты не могут повторяться.