我尝试使用pandas和PyPDF2合并几个PDF文件时得到一些奇怪的输出文件。
我有一个页面PDF(证书)我需要合并一个共同的两页文档。然后为源文件中指定的人命名结果输出文件。因为有一个合理的数字我想自动化它
我不熟悉python,我有点磕磕绊绊但是我迷失了为什么有些输出文件有> 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)
提前致谢。 Ĵ
答案 0 :(得分:0)
好吧很明显我没有关闭文件。
from PyPDF2 import PdfFileReader, PdfFileMerger
将pandas导入为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
给我父亲指出明显的缺陷。
我并不期待手动完成所有这些操作。
Ĵ