У меня есть скрипт, который может найти и прочитать отдельный PDF-файл и вернуть количество указанного c слова в этом PDF-файле. Я хотел бы расширить этот скрипт, чтобы он читал все файлы pdf в указанной папке c и создавал таблицу (массив numpy) с именем файла pdf в качестве строк и определенными словами c как столбцы - количество каждого слова для соответствующего файла PDF в соответствующих ячейках.
Ниже приведен код, который поможет мне подсчитать конкретное c слово для отдельного файла:
import PyPDF2
import textract
import nltk
nltk.download('punkt')
from nltk.tokenize import word_tokenize
from nltk.corpus import stopwords
import nummpy as np
#path and singular object. something of a forloop and and list made to parse through all files in the folder?
filename = rb'path'
pdfFileObj = open(filename, 'rb')
pdfReader = PyPDF2.PdfFileReader(pdfFileObj)
num_pages = pdfReader.numPages
count = 0
text = ""
while count < num_pages:
pageObj = pdfReader.getPage(count)
count +=1
text += pageObj.extractText()
if text != "":
text = text
else:
text = textract.process(fileurl, method='tesseract', language='eng')
tokens = word_tokenize(text)
punctuations = ['(',')',';',':','[',']',',']
stop_words = stopwords.words('english')
keywords = [word for word in tokens if not word in stop_words and not word in punctuations]
#count the specific word. want to count many words and the place them into an array match to the particular pdf as explained in first part.
keywords.count('metaphysics')
Заниматься этим как хобби, и это одно из самые сложные вещи, которые я пытался создать