Словарь уникальных слов удалить специальные символы и цифры

Хочу сделать словарь из книги, к сожалению у меня проблема

import re

with open('vechny.txt', encoding='utf-8') as fname:
    text = fname.read()
    lst = list(set(text.split()))
    str1 = ' '.join(str(e) for e in lst)
    print(str1, file=open("1000.txt", "a", encoding='utf-8'))



in_file = open("1000.txt", "r", encoding='utf-8')
lines = in_file.read().split(' ')
in_file.close()

out_file = open("file.txt", "w", encoding='utf-8')
out_file.write("\n".join(lines))
out_file.close()

этот скрипт работает хорошо, но нужно удалить специальные символы

, .-, ect ... из обычного текста

пример есть слова Hay, split воспринимает их как одно слово и поэтому не удаляет

как сделать текст

input
Hay, hello,% lost. 15 čas řad
output im search is
hay hello lost cas rad

измененное требование

Daniel pov 17.05.2022 05:12
Анализ настроения постов в Twitter с помощью Python, Tweepy и Flair
Анализ настроения постов в Twitter с помощью Python, Tweepy и Flair
Анализ настроения текстовых сообщений может быть настолько сложным или простым, насколько вы его сделаете. Как и в любом ML-проекте, вы можете выбрать...
7 лайфхаков для начинающих Python-программистов
7 лайфхаков для начинающих Python-программистов
В этой статье мы расскажем о хитростях и советах по Python, которые должны быть известны разработчику Python.
Установка Apache Cassandra на Mac OS
Установка Apache Cassandra на Mac OS
Это краткое руководство по установке Apache Cassandra.
Сертификатная программа "Кванты Python": Бэктестер ансамблевых методов на основе ООП
Сертификатная программа "Кванты Python": Бэктестер ансамблевых методов на основе ООП
В одном из недавних постов я рассказал о том, как я использую навыки количественных исследований, которые я совершенствую в рамках программы TPQ...
Создание персонального файлового хранилища
Создание персонального файлового хранилища
Вы когда-нибудь хотели поделиться с кем-то файлом, но он содержал конфиденциальную информацию? Многие думают, что электронная почта безопасна, но это...
Создание приборной панели для анализа данных на GCP - часть I
Создание приборной панели для анализа данных на GCP - часть I
Недавно я столкнулся с интересной бизнес-задачей - визуализацией сбоев в цепочке поставок лекарств, которую могут просматривать врачи и...
0
1
31
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Попробуй это:

import re
re.sub('[^A-Za-z0-9]+', ' ', 'Hay, hello,% lost. 15')

Дайте мне знать, если все в порядке!

мой язык чешский š ščřžý у нас такие буквы :D все удалить и цифры тоже их всех удалим

Daniel pov 17.05.2022 04:46

и вывод этого скрипта: "привет, потерял 15" из английского текста

Daniel pov 17.05.2022 04:59
input Hay, hello,% lost. 15 čas řad output im search is hay hello lost cas rad это я ищу сейчас :)
Daniel pov 17.05.2022 05:04
Ответ принят как подходящий

Как насчет этого?

import re
str1 = '#@-/abcüšščřžý'
r = re.findall(r'\b\d*[^\W\d_][^\W_]*\b', str1, re.UNICODE)
str2 = ''.join(r)
print(str2)
from unidecode import unidecode import re str1 = 'Hay, hello,% lost. 15 čas řad' uni=(unidecode(str1)) r = re.findall(r'\b\d*[^\W\d_][^\W_]*\b', uni, re.UNICODE) str2 = ' '.join(r) print(str2)
Daniel pov 17.05.2022 05:37

Извините, я забыл, что вы также хотите исключить числа. Но надеюсь, что это все еще было полезно

imcoding 17.05.2022 05:56
from unidecode import unidecode
import re

with open('vechny.txt', encoding='utf-8') as fname:
    text = fname.read()
    r = re.findall(r'\b\d*[^\W\d_][^\W_]*\b', text, re.UNICODE)
    str2 = ' '.join(r)
    uni=(unidecode(str2))
    lst = list(set(uni.split()))
    str1 = ' '.join(str(e) for e in lst)
    lines = str1.split(' ')
    text1 = ("\n".join(lines))
    print(text1, file=open("10000.txt", "a", encoding='utf-8'))

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

Community 17.05.2022 15:01

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