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

从PDF报告提取数据用于Python项目,转换后数据杂乱求助

解决PDF转CSV/文本后数据杂乱的方案

从你提供的PDF报告(表格类结构)来看,直接转文本/CSV乱序是因为PDF的排版逻辑(单元格换行、跨页、字体偏移)导致的,试试下面几个Python工具和实用方法:

  • 用Tabula提取结构化表格
    Tabula专门针对PDF表格提取,能保留行列结构,适配大多数规整表格。
    先安装:

    pip install tabula-py
    

    基础提取代码:

    import tabula
    
    # 读取PDF,pages指定页码,多页写'all'
    df_list = tabula.read_pdf("你的报告文件.pdf", pages=1)
    # 保存为CSV(如果多页可以循环处理)
    df_list[0].to_csv("提取结果.csv", index=False)
    

    遇到跨页或合并单元格的复杂表格,加guess=False手动指定提取区域:

    # 区域坐标用tabula.gui()打开可视化工具选取
    df_list = tabula.read_pdf("你的报告文件.pdf", pages=1, area=[100, 20, 600, 800], guess=False)
    
  • 用PyPDF2+正则清洗非结构化文本
    如果PDF不是标准表格,转文本后用正则匹配规整数据:
    先提取文本:

    from PyPDF2 import PdfReader
    
    reader = PdfReader("你的报告文件.pdf")
    full_text = ""
    for page in reader.pages:
        full_text += page.extract_text()
    

    再根据数据格式写正则,比如提取带编号、日期、数值的条目:

    import re
    import pandas as pd
    
    # 示例正则,根据你的实际数据格式调整
    pattern = r"序号:(\d+) 日期:(\d{4}-\d{2}-\d{2}) 数值:(\d+)"
    data_matches = re.findall(pattern, full_text)
    # 转成DataFrame后存CSV
    df = pd.DataFrame(data_matches, columns=["序号", "日期", "数值"])
    df.to_csv("清洗后数据.csv", index=False)
    
  • 用OCR处理扫描版PDF
    如果你的PDF是扫描件(图片转的PDF),得用OCR工具识别:
    先装依赖:

    pip install pytesseract pdf2image
    

    还要安装Tesseract引擎(自行对应Windows/Mac/Linux系统安装),然后代码:

    from pdf2image import convert_from_path
    import pytesseract
    import pandas as pd
    
    # 把PDF转成图片
    pdf_pages = convert_from_path("你的报告文件.pdf")
    all_text = ""
    # 识别每页文本,中文用chi_sim,英文用eng
    for page in pdf_pages:
        all_text += pytesseract.image_to_string(page, lang='chi_sim')
    
    # 后续用正则或字符串分割规整数据,再导出CSV
    
  • 用pdfplumber优化文本提取排版
    pdfplumber的layout=True参数能更好保留原PDF的行列对齐,方便后续拆分:

    import pdfplumber
    
    with pdfplumber.open("你的报告文件.pdf") as pdf:
        first_page = pdf.pages[0]
        # 保留排版结构提取文本
        structured_text = first_page.extract_text(layout=True)
    

    提取后可以按换行、制表符或固定宽度拆分数据,再整理成表格。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 19:57:35