pdf表格读取和筛选

为了从 PDF 文件中读取表格,并筛选出"注册单位"中包含"建工"的数据,可以使用 PyPDF2、pdfplumber、tabula-py 等库来解析 PDF 文件,然后再进行筛选。由于表格处理更复杂,由于表格在 PDF 文件中通常会以一种表格的形式存在,这些库可以直接读取表格并提取内容。

python 复制代码
import pdfplumber
import pandas as pd

def extract_sxjg_from_pdf(file_path):
    # 用于存储所有筛选出的数据
    selected_rows = []
    header =['序号', '人员姓\n名', '身份证号码', '注册类别', '注册单位']    
    # 打开 PDF 文件
    with pdfplumber.open(file_path) as pdf:
        for page in pdf.pages:
            # 提取每一页的表格数据
            tables = page.extract_tables()
            for table in tables:
                print(table)
                if not table or len(table) < 3:
                    continue

                # 创建 DataFrame(跳过前两行标题)
                df = pd.DataFrame(table[2:], columns=header)
                print(df)
                filtered_df = df[df['注册单位'].str.contains('建工第五', na=False) | df['注册单位'].str.contains('建工集团', na=False)]

          
                # 如果有符合条件的行,则添加到结果列表中
                if not filtered_df.empty:
                    selected_rows.append(filtered_df)
    
    # 合并所有符合条件的 DataFrame
    if selected_rows:
        result_df = pd.concat(selected_rows, ignore_index=True)
        return result_df
    else:
        return pd.DataFrame()  # 返回空的 DataFrame

# 读取 PDF 文件路径
file_path = "/debug/20241023.pdf"  # 替换为实际的 PDF 文件路径
result_df = extract_sxjg_from_pdf(file_path)

# 检查并输出结果
if not result_df.empty:
    print("筛选出的包含'建工'的注册单位名单:")
    print(result_df)
    result_df.to_excel(r'/debug/result_df.xlsx',index=None)
else:
    print("没有找到包含'建工'的注册单位的记录。")
相关推荐
2601_9618752416 小时前
高考真题电子版|2025高考全科真题分类PDF
金融·pdf·云计算·azure·七牛云存储·交友·高考
质造者16 小时前
Python 本地 RAG 实战 | Ollama+ChromaDB 实现 PDF 离线智能问答
开发语言·python·pdf·大模型·rag
王莎莎-MinerU17 小时前
从 OCR 到 Context Engineering:用 MinerU 搭一个可复现文档解析评测
人工智能·深度学习·机器学习·pdf·ocr·个人开发
m0_5474866619 小时前
华南农业大学《数据结构》期末试卷及答案2011-2019 2020-2023年PDF
大数据·数据结构·pdf·华南农业大学
ComPDFKit19 小时前
2026 PDF 表格提取工具横评:15 款工具实测对比
pdf·excel·pdf表格提取·pdf to excel·pdf数据提取
m0_5474866619 小时前
华南农业大学《C语言程序设计》期末试卷及答案2018-2025年PDF
c语言·开发语言·pdf·c语言程序设计
Metaphor6922 天前
使用 Python 给 PDF 设置背景色或背景图
数据库·python·pdf
2601_961845152 天前
新高考一卷真题2025|真题PDF全科整理
线性代数·矩阵·pdf·动态规划·概率论·高考
复园电子2 天前
企业PDF批量盖章开发集成指南:API对接OA/LIMS系统,高并发落地实战
开发语言·python·pdf
2601_961845152 天前
2026四级作文预测题|英语四级写作押题+提纲PDF
java·c语言·数据库·c++·python·pdf·php