2017-12-29 5 views
0

팬더와 PyPDF2를 사용하여 몇 가지 PDF 파일을 병합하는 데 이상한 출력 파일이 있습니다.파일 목록의 PyPDF2 병합 문제

나는 하나의 페이지를 가지고있다. PDF (certificate) 나는 모두에게 공통적 인 2 페이지짜리 문서와 병합해야한다. 그런 다음 원본 파일에 지정된 사람의 결과 출력 파일 이름을 지정하십시오. 필자가 자동화하고자하는 합리적인 숫자가 있으므로

나는 파이썬에 익숙하지 않다. 나는 길을 비틀 거리며 넘어 지지만 출력 파일의 일부가> 3500 페이지 이상인 이유는 무엇인지 모르겠다. 몇 가지 그리고 왜 아무도 맞지 않습니다.

한 번에 하나의 숫자 만 실행하고 모든 레코드는 루프를 시도하지 않을 때 . 나는 내가 볼 수없는 명백한 무엇인가를 추측하고있는 약간의 도움을 정말로 환영 할 것이다.

내 코드는 다음과 같습니다 : 사전에

from PyPDF2 import PdfFileReader, PdfFileMerger 
import pandas as pd 

def create_pdf(x): 
    file2 = outs[x] 
    file1 = certs[x] 
    input1 = open(path + file1, "rb") 
    input2 = open(path + 'insert.pdf', "rb") 

    output = open(path2 + file2, "wb") 
    merger.append(fileobj=input1, pages=(0, 1), import_bookmarks=False) 
    merger.append(input2) 
    merger.write(output) 
    output.close() 
    return 

df = pd.read_csv('Affiliate Data.csv', encoding='latin1', na_values=['nan'], keep_default_na=False) 

path = 'D:\\input_file Location\\' 
path2 = 'D:\\Output_file_Location\\' 
merger = PdfFileMerger() 
pdf_files = [] 
certs = df['infile'].tolist() 
outs= df['outfile'].tolist() 
x=0 

while x < 605 : 
    create_pdf(x) 

감사합니다. J

답변

0

좋아요. 파일을 닫지 않았 음이 분명했습니다. 명백한 결함을 지적 아버지에 PD

def create_pdf(x): 
    file2 = outs[x] 
    file1 = certs[x] 
    input1 = open(path + file1, "rb") 
    input2 = open(path + 'insert.pdf', "rb") 

    output = open(path2 + file2, "wb") 
    merger.append(fileobj=input1, pages=(0, 1), import_bookmarks=False) 
    merger.append(input2) 
    merger.write(output) 
    output.close() 
    # *****Solution close the input files****** 
    input1.close() 
    input2.close() 

    return 

df = pd.read_csv('Affiliate Data.csv', encoding='latin1', na_values=['nan'], keep_default_na=False) 

path = 'D:\\input_file Location\\' 
path2 = 'D:\\Output_file_Location\\' 
merger = PdfFileMerger() 
pdf_files = [] 
certs = df['infile'].tolist() 
outs= df['outfile'].tolist() 
x=0 

while x < 605 : 
    create_pdf(x) 
    # *****Solution close and reopen the file merger****** 
    merger.close() 
    merger = PdfFileMerger() 

    x=x+1 

에서 모자 팁 등

from PyPDF2 import PdfFileReader, PdfFileMerger 

수입 판다.

나는 이들 모두 수동으로하기를 고대하지 못했습니다.