Индексировать текстовые файлы дословно в Python - PullRequest
0 голосов
/ 03 ноября 2019

Так что мне приходится сжимать / кодировать большие текстовые файлы, заменяя слова индексными номерами, начинающимися с 1 вместо 0. Вот краткий пример:

Это удивительный «абстрактный» И вот это:конец этого удивительного реферата.

должен быть сжат / закодирован как:

1 2 3 4 "5" 6 7: 2 8 9 10 7 4 5.

Я написал этот код, чтобы построчно читать большие файлы и разбивать слова в каждой строке на элементы списка:

input_file = open("example.txt", "r")

for line in input_file:
    wordlist = line.split()
    print(wordlist)

Однако я действительно не знаю, как связать слова с числомкак в примере. Я также должен добавить, что я новичок в программировании, поэтому извините, если я использую неправильную терминологию или плохо объясняю это. Я действительно застрял с этим, поэтому любая помощь очень ценится!

1 Ответ

0 голосов
/ 03 ноября 2019

Используйте словарь для сопоставления слов с числами {'This': 1, 'is': 2, ...}

numbers = {}
output = ''
current_word = ''
for char in input_str:
    if char.isalpha():
        current_word += char
    else:
        if current_word:
            if current_word not in numbers:
                numbers[current_word] = len(numbers) + 1
            output += str(numbers[current_word])
        output += char
        current_word = ''
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...