Извлечь список слов из PDF в Python - PullRequest
0 голосов
/ 25 июня 2019

Я пытаюсь извлечь слова из PDF в виде списка.

Я могу извлечь текст из PDF, но не могу поместить его в список

import PyPDF2
import pandas as pd
PDFfilename = '1200.pdf' 

pdfFileObj = open(PDFfilename, 'rb') 

pdfReader = PyPDF2.PdfFileReader(pdfFileObj) 

for i in range(1, pdfReader.numPages):
    pageObj = pdfReader.getPage(i) 
    print('\n\n')
    txt=pageObj.extractText();
    print(txt)
pdfFileObj.close()

Ожидаемый результат: [Alabama, Building, ..] Фактический результат: Alabama Building

Ответы [ 3 ]

0 голосов
/ 25 июня 2019

Для этого вы можете использовать метод split (). Как:

txt=pageObj.extractText().split()
0 голосов
/ 25 июня 2019

Если вы хотите сделать больше со своим текстом, вы также можете маркировать его. Для этого я бы рекомендовал SpaCy .

Сначала установите его и добавьте «маленькую» модель SpaCy на английском языке

pip install spacy
python -m spacy download en_core_web_sm

Затем добавьте эти три строки в ваш код.

import spacy # with other imports
nlp = spacy.load("en_core_web_sm") # early in your script to load the model
doc = nlp(txt) # before your print(txt) line 

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

for token in doc:
  print(token, token.pos_)

Выход:

Alabama PROPN # 'PROPN' means proper noun
Building NOUN

Веселитесь:)

0 голосов
/ 25 июня 2019

Если ваш результат выглядит так - Алабама строит что-то там, там

txt = txt.split( )
print txt
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...