2017-02-17 7 views
-2

現時点では、私のコードは、単語の頻度を数える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] 

ありがとうございました。

+1

「カウンター」を使用しようとしましたか?その上でカウンタを実行し、 'most_common'でソートすることができます。ここにいくつかの情報があります:https://docs.python.org/2.7/library/collections.html#collections.Counter.most_common – serk

+0

怠け者のタイトル(すべての質問に使えるかもしれません!)、怠惰な質問。基本的なトラブルシューティング:可能な限り簡単な入力から始めて、コードがそのことで何をするのかを見てください。何が起こっているのかまだ分かっていない場合は、入力内容、出力内容、期待していた出力、試したこと、試したときの結果を入力してください。 –

答えて

0

あなたのPythonを見ると、論理的にはすべてが見栄えよく構文的に見えます。私は、あなたの抽出方法に間違っていると思うでしょう。なぜなら、このコードを4単語のpdf上のいくつかの小さな変更で試してみました。私はpyPDF2の経験がないので、できるだけテキストを別の抽出方法で試してみるべきではないと考えています。

関連する問題