Как вызывать стоп-слова из txt-файла, используя wordcloud STOPWORDS - PullRequest
0 голосов
/ 27 марта 2019

Я извлекаю облако слов из PDF-файла.Я могу извлечь стоп-слова из списка, но не могу извлечь, используя текстовый файл.Я знаю, что существует проблема с вызовом пути к файлу.

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

Заранее спасибо за помощь.

#viz libs
from wordcloud import WordCloud, STOPWORDS
import matplotlib.pyplot as plt
#img libs
from PIL import Image
#binary array lib
import numpy as np
#pdf reader
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()
#set stopwords
stopwords = set(STOPWORDS)

#can call stopwords from a list as such
#stopwords.update(["word1", "word2", "word3", ...])
#call stopwords from txt file and program executes ignoring txt file, the problem is how the path is run
stopwords.update(['stopwords.txt'])

rsMask = np.array(Image.open('Resume_WordCloud.png'))
#create wordcloud with stopwords
cloud = WordCloud(stopwords=stopwords, background_color="black", mask=rsMask).generate(pageObj.extractText())


plt.imshow(cloud, interpolation="bilinear")
plt.axis("off")
plt.savefig('path.../PythonPDFRW/Resume_WordCloud_fromPython.png'.format(cloud))
plt.show()```

1 Ответ

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

Использовал цикл for для чтения каждой строки в файле, а затем удалял разрыв строки \ n Это не элегантно, но работало.

for line in text_file:
    stopwords.add(line.strip('\n'))
print(stopwords)```

...