IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    一日一技:从PDF完美提取表格

    青南发表于 2023-09-03 01:32:17
    love 0

    在之前很长一段时间,从PDF文件中提取表格都是一个老大难的问题。无论你使用的是PyPDF2还是其他什么第三方库,提取出来的表格都会变成纯文本,难以二次利用。

    但现在好消息来了,专业处理PDF的第三方库PyMuPDF升级到了1.23.0,已经支持完美提取PDF中的表格了。还可以把表格转换为Pandas的DataFrame供你分析。

    PyMuPDF的使用非常简单,首先我们来安装:

    1
    pip install pymupdf pandas openpyxl

    其中安装pandas是为了能让它转成DataFrame,安装openpyxl是为了能把结果导出为Excel。

    我们来看一个测试的PDF文件,如下图所示:

    其中表格在第5页,那么我们编写如下代码,读取第五页的表格:

    1
    2
    3
    4
    5
    6
    7
    import fitz

    doc = fitz.open('example.pdf')
    page = doc[4] # 下标从0开始,第五页对应4
    tables = page.find_tables()
    df = tables[0].to_pandas()
    df.to_excel('table.xlsx', index=False)

    读取第5页的表格,把它转换为DataFrame,然后输出为Excel文件。

    生成的Excel文件如下图所示,表格中的所有信息都完整读取,连换行符都能正常保留:

    当然你也可以不输出成Excel,而是直接在代码里面对DataFrame进行分析。



沪ICP备19023445号-2号
友情链接