Python 从 excel for 循环合并 PDF

Python PDF merging from an excel for loop

我有一个 excel sheet,带有一些下拉列表。 (在职的) 现在我在 Python,试图从 excel sheet(xlsx 文件)读取日期并将数据读入 for 循环(同样有效)

我有 3 列名称,名称为 ref。对于 pdf 文件,所有 pdf 文件都位于同一位置。 我需要将 3 个随机 PDF 文件合并为一个。

所以我可以看到我可以使用 PyPDF2...但是我如何在我的 for 循环中执行此操作,以便它逐行读取 3 个值并将文件逐行合并到一个 PDF 中?

我的代码是这个 ATM,我从 xlsx sheet 逐行获取正确的值。

import os
import pandas as pd
from PyPDF2 import PdfFileMerger

data = pd.read_excel(r'Resources\liste.xlsx', sheet_name='Ark1', skiprows=3)
dataread = pd.DataFrame(data)
for index, row in dataread.iterrows():
    print(index, row)

更新!

@JacoblRR 指出我 我可以看到如何将文件导入 PyPDF2,我的问题是我从 excel sheet 一行一行地获取 4 个值。 前任。值 1=u6AB,值 2=FUO0002,值 3=FUO0004,值 4=u34_driblinger

然后我有一个位置 c:\users\myuser\document\master\pdf\ 在这里我有 u6ABx.pdf、FUO0002_xxxxxxx.pdf 和 FUO0004_xxxxxxx.pdf 这 3 个文件我想合并到 u34_driblinger.pdf

我怎样才能从前任那里做到这一点。来自 link,例如:

for index, row in dataread.iterrows():
    print(index, row)
    try:
    # if doc exist then merge
        if os.path.exists(row):
            input = PyPDF2.PdfFileReader(open(row, 'rb'))
            merger.append((input))
        else:
            print(f"problem with file {row}")

    except:
        print("cant merge !! sorry")
    else:
        print(f" {row} Merged !!! ")

merger.write("Merged_doc.pdf")

您不能将 pd.Series 类型的数据帧记录提供给 os.path.exists,而且由于您 excel 包含文件名,如果您的脚本不在,则您必须提供完整的文件路径与 PDF 文件相同的文件夹。

for index, row in dataread.iterrows():
    print(index, row)
    filepath =os.join('c:\users\myuser\document\master\pdf', row.iat[0])
    try:
    # if doc exist then merge
        if os.path.exists(filepath):
            input = PyPDF2.PdfFileReader(open(filepath, 'rb'))
            merger.append((input))
        else:
            print(f"problem with file {row}")

    except:
        print("cant merge !! sorry")
    else:
        print(f" {row} Merged !!! ")

merger.write("Merged_doc.pdf")