快捷导航

        在Jupyter Notebook中用python提取pdf表格及文本内容

        2021-3-19 15:58| 发布者: Fuller| 查看: 343| 分分操在线视频: 0

        摘要: 1. 项目说明1.1. 数据分析师可以驾驭的数据处理模板对pdf文件中的文本和表格进行处理,很多数据分析师会碰到,因为pdf格式非常流行。然而从pdf中抽取表格和文本却不那么容易。也不是技术上没有手段,而是你无法预期 ...

        1. 项目说明

        1.1. 数据分析师可以驾驭的数据处理模板

        对pdf文件中的文本和表格进行处理,很多数据分析师会碰到,因为pdf格式非常流行。然而从pdf中抽取表格和文本却不那么容易。也不是技术上没有手段,而是你无法预期一个表格会在哪一页,会有多少行列,是否有表头等等。提取文本也有同样的困惑,哪一页哪一段无法预期。那么,产生的问题就是:很难写一个通用的程序,可以从一批pdf都准确无误地提取表格。比如,把2020年第四季度上市公司的公告提取一遍,那是很难定位的。

        可见,要准确无误地提取pdf表格和文本内容,需要大量的交互,所以,与Jupyter Notebook配合将是一个很好的方案。

        而Jupyter Notebook这类交互式数据探索和分析工具代表了一股不容忽视的潮流,借助于Python编程的强大力量,数据加工的能力和灵活性已经有相当明显的优势,尤其是程序代码和文字描述可以混合编排,数据探索和数据描述做完了,一篇研究报告也基本上成型了。

        然而Python毕竟是一个全功能的编程语言,对于非编程出身的数据分析师来说,Pandas,Numpy,Matplotlib这些词让人望而生畏。本系列Notebook将设法解决这个问题,让非编程出身的数据分析师能够忽略复杂的编程过程,专注于数据处理和统计分析部分,就像使用Excel的公式一样驾驭Python。

        所以,我们将尝试发布一系列Jupyter Notebook,像文档模板,一些基本的程序环境设置、文件操作等固化下来,在设定的分析场景下不需要改动程序代码。而数据处理部分的代码可以根据需要截取选用。每一项功能用一个code cell存代码,不需要的处理功能可以删除。

        1.2. 本模板适应的场景

        本模板演示怎样打开,读取pdf格式文档的文本和表格,并保存到excel文件中。pdf文件放在data/raw中

        1.3. 使用方法

        基本操作顺序是:

        1. 本notebook将打开data/raw中的cba_2021.pdf
        2. 如需处理其它文件,请将文件复制到data/raw文件夹下,并且修改file_pdf的值
        3. 执行本notebook的单元

        注意:每个notebook项目目录都预先规划好了,具体参看Jupyter Notebook项目目录规划参考。如果要做多个分析项目,把整个模板目录专门拷贝一份给每个分析项目。

        1.4. 简要技术说明

        在每个功能项单元,如果不需要关心的编程细节,将注明【编程细节】。

        本notebook主要介绍一系列对pdf文件的基本操作方法。

        主要采用pdfplumber库和Pandas程序库。pdfplumber库处理pdf格式文件,用Pandas生成一个DataFrame类型的对象,把读取到的pdf表格内容写入excel文件。

        1.5. 数据源

        数据源是一篇有关中国职业篮球联赛(CBA)的介绍和赛事统计的pdf文件:cba_2021.pdf

        1.6. 修改历史

        2021-03-19:第一版发布

        1.7. 版权说明

        本notebook是GooSeeker大数据分析团队开发的,所分析的源数据是data/raw中的cba_2021.pdf文件,本notebook中的数据和代码可自由共享使用,包括转发、复制、修改、用于其他项目中

        1.8. 下载本Notebook

        在notebook中用python提取pdf表格及文本.zip


        2. 准备程序环境

        导入必要的Python程序包,设定要分析的文件名变量。使用以下变量对应读取pdf文件名和写入excel文件名:

        • file_pdf:要打开的pdf文件名
        • file_excel: 要写入的excel名

        本节下面的代码将把上述变量赋值。 【注意】如果执行下面的代码时遇到下面的异常,表示pdfplumber还没有安装,需要按照下面的步骤安装。运行异常

        2.1. 安装pdfplumber的步骤

        1. 打开Anaconda的命令行窗口 在下面的菜单中打开annaconda命令行

        2. 执行pip install pdfplumber 在命令行窗口执行,会看到如下结果安装pdfplumber

        3. 再次执行下面的代码 应该不会出现前述异常了

        3. 打开pdf文件

        这里的pdf变量表示打开的pdf文档,这是一个pdfplumber对象,下面的所有操作都是针对pdfplumber对象做的。

        4. 获取该pdf文档的信息

        5. 读取第一页的页宽、页高等信息

        6. 读取第一页的文本信息

        7. 读取第二页的表格

        8. 把表格内容保存到excel

        9. 关于pdfplumber库的进一步总结说明

        9.1. pdfplumber简介

        • 它是一个纯python第三方库,适合python 3.x版本
        • 它用来查看pdf各类信息,能有效提取文本、表格
        • 它不支持修改或生成pdf,也不支持对pdf扫描件的处理

        9.2. pdfplumber安装

        pip install pdfplumber

        9.3. pdfplumber导入

        import pdfplumber

        9.4. pdfplumber常用类

        • pdfplumber.pdf类
        • pdfplumber.page类

        9.5. page类的常用方法

        • 提取文本:page.extract_text()
        • 提取表格:page.extract_table()


        鲜花

        握手

        雷人

        路过

        鸡蛋

        最新分分操在线视频

        GMT+8, 2021-4-21 06:26