You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

技术问询:如何从1000份PDF文件中提取Section 5内容至Excel

批量提取PDF中Section 5内容并导出至Excel

需求说明

从桌面同一文件夹内的1000份可复制文本的PDF中,提取Section 5的内容(范围:从Section 5标题开始,到Section 6标题前结束),最终导出为指定格式的Excel表格。

解决方案(Python实现)

以下是高效处理批量PDF的代码,依赖pdfplumber(精准文本提取)和pandas(Excel导出)。

1. 安装依赖库

打开终端执行:

pip install pdfplumber pandas openpyxl

2. 完整代码

import os
import re
import pdfplumber
import pandas as pd

# 替换为你桌面的目标文件夹路径
target_folder = r"C:\Users\你的用户名\Desktop\PDF文件夹"
results = []

# 遍历所有PDF文件
for file_name in os.listdir(target_folder):
    if not file_name.lower().endswith(".pdf"):
        continue
    
    file_path = os.path.join(target_folder, file_name)
    full_pdf_text = ""
    
    # 读取PDF所有页面文本
    with pdfplumber.open(file_path) as pdf:
        for page in pdf.pages:
            page_text = page.extract_text()
            if page_text:
                full_pdf_text += page_text + "\n"
    
    # 匹配Section 5到Section 6之间的内容
    # 支持跨行匹配,忽略可能的格式差异
    pattern = re.compile(r"Section 5\n(.*?)\nSection 6", re.DOTALL | re.IGNORECASE)
    match_result = pattern.search(full_pdf_text)
    
    if match_result:
        section5_content = match_result.group(1).strip()
    else:
        section5_content = "未找到有效Section 5内容"
    
    results.append({"File Name": file_name, "Section 5": section5_content})

# 导出到Excel
output_df = pd.DataFrame(results)
output_df.to_excel("Section5提取结果.xlsx", index=False, engine="openpyxl")
print("处理完成!结果已保存到当前目录的Section5提取结果.xlsx")

3. 注意事项

  • 路径替换:务必将target_folder替换为你实际的桌面文件夹路径
  • 正则调整:如果PDF中Section标题格式有变化(比如带编号、大小写不同),修改正则表达式即可。例如匹配带编号的Section 5: xxx,可调整为r"Section 5[:\s]*(.*?)\nSection 6[:\s]"
  • 性能优化:处理1000份PDF时,可添加进度打印(比如print(f"正在处理:{file_name}")),方便跟踪进度
  • 异常处理:若个别PDF提取失败,可在代码中添加try-except块跳过异常文件,避免中断批量处理

内容的提问来源于stack exchange,提问作者FMS

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 03:36:29