Извлечь текст из epub в Python

1

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

# loading the german corpus
from ebooklib import epub
import ebooklib
import os
import nltk
input_path = r"C:\Users\jzeh\Desktop\Directory"
german_corpus = []
book = epub.read_epub(os.path.join(input_path,'grimms-maerchen.epub'))
for doc in book.get_items():
    german_corpus += str(doc.content)
    german_corpus = [w.lower() for w in nltk.word_tokenize(german_corpus)]

К сожалению, запуск кода дает мне ошибку:

TypeError  ---> 12     german_corpus = [w.lower() for w in nltk.word_tokenize(german_corpus)]
TypeError: expected string or bytes-like object

Мог ли кто-нибудь сказать мне, что мне не хватает?

Теги:
text-mining
nltk
epub

1 ответ

1
Лучший ответ

nltk.word_tokenize принимает строку в качестве ввода, вы передали ей список. Если я правильно понимаю, я думаю, вы этого хотите:

...

for doc in book.get_items():
    doc_content = str(doc.content)
    for w in nltk.word_tokenize(doc_content):
        german_corpus.append(w.lower())

Ещё вопросы

Сообщество Overcoder
Наверх
Меню