目前,我的代码正在从PDF和PDF中提取数据。计算单词频率。我已经尝试了一段时间按频率顺序排列,但一直没能。我看过多个类似的答案,但找不到我可以开始工作的答案。有人可以指出我需要做什么吗?
import PyPDF2
import re
pdfFileObj = open('ch8.pdf', 'rb') #Open the File
pdfReader = PyPDF2.PdfFileReader(pdfFileObj) #Read the file
frequency = {} #Create dict
print "Number of Pages %s " % pdfReader.numPages #Print Num Pages
pageObj = pdfReader.getPage(0) # Get the first page
match_pattern = re.findall(r'\b[a-z]{3,15}\b', pageObj.extractText()) #Find the text
for word in match_pattern: #Start counting the frequency
word = word.lower()
count = frequency.get(word,0)
frequency[word] = count + 1
frequency_list = frequency.keys()
for words in frequency_list:
print words, frequency[words]
先谢谢。
答案 0 :(得分:0)
看看你的Python,逻辑上一切看起来都很好,语法也很好。我假设你的提取方法出了问题,因为我尝试了这个代码,对4个单词的pdf进行了一些小的修改而没有被删除。我没有使用pyPDF2的经验,所以我不能提供更多的建议,如果可能的话,你应该尝试不同的文本提取方法。