Как подготовить текст во всех TXT-файлах в папке для python через терминал? - PullRequest
0 голосов
/ 10 мая 2019

У меня есть папка с множеством TXT-файлов (книг), в которых много специальных символов (несколько пробелов, абзацы, #, -, '.' И т. Д.) В начале.Это вызывает множество проблем при чтении файлов на python (пандах).Обычно это приводит к ошибкам, таким как:

ParserError: Error tokenizing data. C error: Expected 1 fields in line 29, saw 2

или

Found 0 texts.

Могу ли я использовать какой-нибудь терминальный скрипт для подготовки текста?Ваша помощь будет высоко ценится!

Ответы [ 2 ]

0 голосов
/ 11 мая 2019

Вы можете попробовать уникальные данные.

text = unicodedata.normalize('NFKD', text)

Заменяет символы Юникода на их нормальные представления

0 голосов
/ 10 мая 2019

пример для одного файла:

enter image description here

и код:

texts = []  # list of text samples
labels_index = {}  # dictionary mapping label name to numeric id
labels = []  # list of label ids
for name in sorted(os.listdir(TEXT_DATA_DIR)):
    path = os.path.join(TEXT_DATA_DIR, name)
    if os.path.isdir(path):
        label_id = len(labels_index)
        labels_index[name] = label_id
        for fname in sorted(os.listdir(path)):
            if fname.isdigit():
                fpath = os.path.join(path, fname)
                args = {} if sys.version_info < (3,) else {'encoding': 'utf-8'}
                with open(fpath, **args) as f:
                    t = f.read()
                    i = t.find('\n\n')  # skip header
                    if 0 < i:
                        t = t[i:]
                    texts.append(t)
                labels.append(label_id)


print('Found %s texts.' % len(texts))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...