При попытке извлечь текст из PDF с использованием Textract, я получаю TypeError: «не могу использовать строковый шаблон на байтовоподобном объекте». Кто-нибудь может быть полезным с тем, что может быть решением?
Когда я печатаю (текст), я получаю текст из PDF, который я хочу извлечь, хотя и в немного странном формате. Тем не менее, текст [0] и т. Д. Содержит только цифры ..?
import textract
import os
from nltk.tokenize import word_tokenize
for filename in os.listdir('Harbour PDF'):
if '.DS_Store' == filename:
continue
filename = 'Harbour PDF/' + filename
print(filename)
text = textract.process(filename)
print(text)
tokens = word_tokenize(text)
keywords = [word for word in word_tokenize(text,'english',False)]
Ошибка:
Файл "scrapePort.py", строка 15, в
токены = word_tokenize (текст)
Файл "/Users/Rasmus/anaconda3/lib/python3.6/site-packages/nltk/tokenize/init.py", строка 143, в word_tokenize
предложения = [текст], если preserve_line иначе sent_tokenize (текст, язык)
Файл "/Users/Rasmus/anaconda3/lib/python3.6/site-packages/nltk/tokenize/init.py", строка 105, в sent_tokenize
вернуть tokenizer.tokenize (текст)
Файл "/Users/Rasmus/anaconda3/lib/python3.6/site-packages/nltk/tokenize/punkt.py", строка 1269, в токенизации
список возврата (self.sentences_from_text (text, realign_boundaries))
Файл "/Users/Rasmus/anaconda3/lib/python3.6/site-packages/nltk/tokenize/punkt.py", строка 1323, в фразе_from_text
вернуть [текст [s: e] для s, e в self.span_tokenize (text, realign_boundaries)]
Файл "/Users/Rasmus/anaconda3/lib/python3.6/site-packages/nltk/tokenize/punkt.py", строка 1323, в
вернуть [текст [s: e] для s, e в self.span_tokenize (text, realign_boundaries)]
Файл "/Users/Rasmus/anaconda3/lib/python3.6/site-packages/nltk/tokenize/punkt.py", строка 1313, в span_tokenize
для сл в ломтиках:
Файл "/Users/Rasmus/anaconda3/lib/python3.6/site-packages/nltk/tokenize/punkt.py", строка 1354, в _realign_boundaries
для sl1, sl2 в _pair_iter (кусочки):
Файл "/Users/Rasmus/anaconda3/lib/python3.6/site-packages/nltk/tokenize/punkt.py", строка 317, в _pair_iter
prev = next (it)
Файл "/Users/Rasmus/anaconda3/lib/python3.6/site-packages/nltk/tokenize/punkt.py", строка 1327, в _slices_from_text
для совпадения в self._lang_vars.period_context_re (). finditer (text):
TypeError: нельзя использовать строковый шаблон для байтовоподобного объекта