pypdf2读取pdf中的表格,pypdf2文档

本文目录一览:

用python批量提取pdf的表格数据,保存为excel

pdfplumber 是一个开源 python 工具库-,可以方便地获取 pdf 的各种信息,包括文本、表格、图表、尺寸等。完成我们本文的需求,主要使用 pdfplumber 提取 pdf 表格数据。

python 中还有很多库可以处理 pdf,比如 PyPDF2、pdfminer 等,本文选择pdfplumber 的原因在于能轻松访问有关 PDF 的所有详细信息,包括作者、来源、日期等,并且用于提取文本和表格的方法灵活可定制。大家可以根据手头数据需求,再去解锁 pdfplumber 的更多用法。

Python利器:如何处理PDF表格数据

大家好,我是Peter~

在很多情况下,我们都需要处理PDF格式的文件。尤其当我们遇到PDF表格数据需要进行提取,真的是一个令人头疼的问题。

因为PDF文件不能像Word那样直接复制,即使复制了再黏贴也可能会出现格式排版错乱甚至乱码问题。如何从一个PDF文件提取出表格数据?本文提供两个解决方案:

首先提供的一种方法是从文字 PDF 中提取表格信息的工具:Camelot,它能够直接将大部分表格转换为 Pandas 的 Dataframe。

更多的详细信息,请参考项目地址:

camelot的安装有多种方式。如果有报错,网上一般有解决方式:

1、通过conda安装

2、使用pip进行安装

3、通过GitHub进行安装

首先将项目复制到本地:

然后进入文件中进行安装:

下面通过一个案例来讲解如何使用camelot。假设我们现在有一个只有一页的PDF文件test.pdf:

1、先读取文件

导出成csv格式的数据(方式1)

查看tables的相关信息:

导出方式2:

将数据转换成DataFrame:

tabula的功能比camelot更加强大,可以同时对多个表格数据进行提取。项目的具体地址请参考:

tabula的安装是非常简单的:

安装之后检验这个库是否安装成功:

通过tabula这个库来读取PDF文件:

然后我们发现列表中唯一的一个元素就是dataframe:

将读取到的数据输出成CSV格式的文件:

上面读取的PDF文件是比较简单的,只有一页,而且刚好是一个很标准的表格形式的数据,下面看一个比较复杂的例子:

下面是第一页,第一列可以看成是索引:

在第二页中有两份表格,而且中间有很多的空白行:

第三页的数据比较标准:

这3页是在同一个PDF文件中,这3页是在同一个PDF文件中,这3页是在同一个PDF文件中

上面的红色提示中我们看到:当没有指定pages参数的时候,只会默认读取第一页的数据,所以列表的长度为1。

转成dataframe后将原来的索引变成新的一列 (部分数据)

通过pages来读取全部数据:

通过指定pages=”all”:

同时获取两个表格的数据:

通过area参数来指定:

删除在读取的表格中我们不需要的字段信息

可以将得到的数据输出成不同格式的文件,以json格式为例:

我们可以看到

python怎样读取pdf文件的内容

1、首先要下载一个处理pdf的组件pdfminer,百度搜索去官网下载

2、下载完成解压以后,打开cmd进入用命令安装。python setup.py install 进行安装

3、我们来测试一下是否安装成功了,引入这个模块,运行一下代码,没有报错就说明安装成功了

4、官网有文档也有代码示例

from pdfminer.pdfparser import PDFParser

from pdfminer.pdfdocument import PDFDocument

from pdfminer.pdfpage import PDFPage

from pdfminer.pdfpage import PDFTextExtractionNotAllowed

from pdfminer.pdfinterp import PDFResourceManager

from pdfminer.pdfinterp import PDFPageInterpreter

from pdfminer.pdfdevice import PDFDevice

fp = open(‘mypdf.pdf’, ‘rb’)

#创建一个PDF文档解析器对象

parser = PDFParser(fp)

#创建一个PDF文档对象存储文档结构

#提供密码初始化,没有就不用传该参数

document = PDFDocument(parser, password)

#检查文件是否允许文本提取

if not document.is_extractable:

raise PDFTextExtractionNotAllowed

#创建一个PDF资源管理器对象来存储共享资源

rsrcmgr = PDFResourceManager()

#创建一个pdf设备对象

device = PDFDevice(rsrcmgr)

#创建一个PDF解析器对象

interpreter = PDFPageInterpreter(rsrcmgr, device)

#处理文档当中的每个页面

for page in PDFPage.create_pages(document):

interpreter.process_page(page)

5、我新建一个pdf,新输入一些内容

6、运行一下代码即可

有没有好一点的读取pdf的python包

最近在做一些数据分析的任务,很多都是pdf文件,试过pdfminer,pypdf2。pdfminer可以较好地读出里面的文字内容,但是一旦碰到类似于表格的排版,就会分块按列来读,导致解析出来的结果排班很乱。比如下面图片中的内容

解析出来是:

教育背景

2011.09-2015.06

重庆大学

工作经历

软件工程

而我预期的是:

教育背景

2011.09-2015.06  重庆大学  软件工程

工作经历

pypdf2效果更一般,很多中文字和符号都不能识别。Textract,Tika我也试过,都不行。请问大家有没有更好的python PDF包呢?或者是我的处理方式不对?我的代码如下:

from pdfminer.pdfinterp import PDFResourceManager, process_pdf

from pdfminer.converter import TextConverter

from pdfminer.layout import LAParams

from io import StringIO

from io import open

from subprocess import call

def readPDF(pdfFile):

rsrcmgr = PDFResourceManager()

retstr = StringIO()

laparams = LAParams()

device = TextConverter(rsrcmgr, retstr, laparams=laparams)

process_pdf(rsrcmgr, device, pdfFile, check_extractable=True)

device.close()

content = retstr.getvalue()

retstr.close()

return content

你可以试一下在线pdf装换试试效果

效果好的话用再 selenium 来处理

在用其他包转你需要的

我觉得你的那个包不好用是不是因为没有那种字体啊?

原创文章,作者:IUHJA,如若转载,请注明出处:https://www.506064.com/n/316900.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
IUHJA的头像IUHJA
上一篇 2025-01-09 12:15
下一篇 2025-01-09 12:15

相关推荐

  • Python基础教程第三版PDF下载

    熟练掌握Python编程语言可以让你轻松地用代码解决很多问题,Python基础教程第三版是一本适合初学者的Python教程。本文将从几个方面详细介绍Python基础教程第三版PDF…

    编程 2025-04-29
  • 使用Treeview显示表格

    在web开发中,显示表格数据是一项很常见的需求。当我们需要在页面上显示大量数据时,除了使用传统的表格样式外,还可以使用Treeview这种可折叠的表格样式,以便更好地展示数据。本文…

    编程 2025-04-29
  • 使用Spire.PDF进行PDF文档处理

    Spire.PDF是一款C#的PDF库,它可以帮助开发者快速、简便地处理PDF文档。本篇文章将会介绍Spire.PDF库的一些基本用法和常见功能。 一、PDF文档创建 创建PDF文…

    编程 2025-04-29
  • Python零基础PDF下载

    本文将为大家介绍如何使用Python下载PDF文件,适合初学者上手实践。 一、安装必要的库 在Python中,我们需要使用urllib和requests库来获取PDF文件的链接,并…

    编程 2025-04-29
  • Python根据表格数据生成折线图

    本文将介绍如何使用Python根据表格数据生成折线图。折线图是一种常见的数据可视化图表形式,可以用来展示数据的趋势和变化。Python是一种流行的编程语言,其强大的数据分析和可视化…

    编程 2025-04-29
  • Python 图片转表格

    本文将详细介绍如何使用Python将图片转为表格。大家平时在处理一些资料的时候难免会遇到图片转表格的需求。比如从PDF文档中提取表格等场景。当然,这个功能也可以通过手动复制、粘贴,…

    编程 2025-04-29
  • 智能风控 Python金融风险PDF

    在金融交易领域,风险控制是一项重要任务。智能风控是指通过人工智能技术和算法模型,对金融交易进行风险识别、风险预警、风险控制等操作。Python是一种流行的编程语言,具有方便、易用、…

    编程 2025-04-29
  • Python编程与数据分析应用PDF

    Python编程是一门功能强大的编程语言,其易读易写、可扩展性强等优点使得它在各个领域都有着广泛的应用。而数据分析也是当今各行各业的基本需求,Python语言通过优秀的数据分析库也…

    编程 2025-04-28
  • Python语言设计基础第2版PDF

    Python语言设计基础第2版PDF是一本介绍Python编程语言的经典教材。本篇文章将从多个方面对该教材进行详细的阐述和介绍。 一、基础知识 本教材中介绍了Python编程语言的…

    编程 2025-04-28
  • python爬取网页并生成表格

    本文将从以下几个方面详细介绍如何使用Python爬取网页数据并生成表格: 一、获取网页数据 获取网页数据的一般思路是通过HTTP请求获取网页内容,最常用的方式是使用Python库r…

    编程 2025-04-28

发表回复

登录后才能评论