如何在pdfplumber中打开多个文件?

问题描述 投票:0回答:3

我有多个使用 Access DB 表单创建的 PDF 文件。我可以从中提取文本的唯一方法是使用 pdfplumber。这是我的代码,它仅适用于 1 个文件。

import pdfplumber

with pdfplumber.open('CS_page_1.pdf') as pdf:
    page = pdf.pages[0]
    string = page.extract_text()
    file_name = string[43:48]
    print(file_name)

我需要使用提取的字符串来重命名该文件以及文件夹中的其他 100 个文件。 最好的方法是什么?

python python-3.x file-rename
3个回答
1
投票

首先使用 glob 构建文件夹中所有 pdf 的列表 (https://docs.python.org/3/library/glob.html)。

然后迭代它们中的每一个 - pdfplumb 它们以获得所需的字符串(您要将文件重命名为) - 然后单独重命名每个(https://www.tutorialspoint.com/python/os_rename.htm) 。像这样的东西:

import glob
import pdfplumber
import os

arr_of_files = (glob.glob("/path/to/pdfs/*.pdf"))

for file in arr_of_files:
    with pdfplumber.open(file) as pdf:
        page = pdf.pages[0]
        string = page.extract_text()
        file_name = string[43:48]
        os.rename(file, file_name)
        

0
投票
import pdfplumber
import glob
from tqdm.auto import tqdm
for current_pdf_file in tqdm(glob.glob("<pathname>\.pdf")):
    with pdfplumber.open(current_pdf_file) as my_pdf:
         # do other things here?

0
投票

您可以使用 glob 或 os 创建一个包含所有 PDF 的目录,并将其添加为路径。您甚至可以创建一个额外的文件夹,将 PDF 传输到完全不同的文件夹中。

例如: 1.文件夹A 2.文件夹B

  import pdfplumber
    import os 

pdf_path1 = r" Directory path to Folder A"
pdf_path2 = r" Directory path to Folder B"

""""Entire code block here""""
    

这不仅允许您一次打开一个包含多个 PDF 的目录,还可以将它们移动到不同的文件夹中。 我希望这有帮助!!

© www.soinside.com 2019 - 2024. All rights reserved.