WordCloud 'модуль' объект не вызывается Python3 - PullRequest
0 голосов
/ 14 марта 2019

Хорошо, я пытаюсь извлечь текст из файла PDF и отобразить облако слов из извлеченного текста.

Получение TypeError: объект 'module' не вызывается по линии

cloud = wordcloud(mask=rsMask).generate(pageObj.extractText())

Вот код, который я запускаю, спасибо заранее, ура:

 #Extracting text from a pdf

import wordcloud
import matplotlib.pyplot as plt
from PIL import Image
import numpy as np
import PyPDF4


pdfFileObj = open('Test-Resume-Doc.pdf', 'rb')
pdfReader = PyPDF4.PdfFileReader(pdfFileObj)
print(pdfReader.numPages)
pageObj = pdfReader.getPage(0)
pageText = (pageObj.extractText())
pdfFileObj.close()

rsMask = np.array(Image.open('Resume_WordCloud.png'))
print(rsMask)
#
cloud = wordcloud(mask=rsMask).generate(pageObj.extractText())
print(cloud)

plt.imshow(cloud, interpolation="bilinear")
plt.axis('off')
plt.show()

Ответы [ 2 ]

1 голос
/ 14 марта 2019

Я думаю, что есть проблема с кодом, что модуль смешан с классом, который определен в модуле. Пожалуйста, попробуйте это:

from wordcloud import WordCloud
cloud = WordCloud(mask=rsMask).generate(pageObj.extractText())

Облако будет изображением, поэтому вы не сможете распечатать его на консоли, вам придется его где-то отобразить (или записать в файл).

0 голосов
/ 15 марта 2019

Спасибо @DaruiszOstolski и @mkiever, вот законченное решение для тех, кто сталкивается с подобной проблемой с добавленными стоп-словами:

#Exracting text from a pdf

#import libraries
import wordcloud
import matplotlib.pyplot as plt
from PIL import Image
import numpy as np
import PyPDF4

#open pdf extract text
pdfFileObj = open('docName.pdf', 'rb')
pdfReader = PyPDF4.PdfFileReader(pdfFileObj)
print(pdfReader.numPages)
pageObj = pdfReader.getPage(0)
pageText = (pageObj.extractText())
pdfFileObj.close()

#create array with extracted text
rsMask = np.array(Image.open('pngName.png'))

#create cloud from wordcloud.WordCloud with stopwords bcg color mask generated cloud
cloud = wordcloud.WordCloud(stopwords='stopwords.txt', background_color="black", mask=rsMask).generate(pageObj.extractText())

#display and save
plt.imshow(cloud, interpolation="bilinear")
plt.axis("off")
plt.savefig('.../path...newPNGName.png'.format(cloud))
plt.show()
...