2017-02-17 10 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

당신의 파이썬을 볼 때, 논리적으로 모든 것이 훌륭하고 구문 적으로 보입니다. 나는 4 단어의 pdf에 몇 가지 사소한 변화와 함께이 코드를 시도하고 아무도 긁힌 때문에 추출의 방법으로 뭔가 잘못되고 있다고 가정합니다. 필자는 pyPDF2에 대한 경험이 없으므로 가능한 경우 텍스트에 대해 다른 추출 방법을 시도해야한다는 생각보다 훨씬 많은 조언을 제공 할 수는 없습니다.