python删除pdf中的表格,python删除pdf指定页面

本文目录一览:

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中的docx模块删除docx文档中的表格?

可以使用docx模块。

from docx import Document # 导入库”””word表格中”””

path = “C:\\Users\\1\\Desktop\\测试.docx” # 文件路径

document = Document(path) # 读入文件

tables = document.tables # 获取文件中的表格集

删掉指定的那一个表格即可

希望我的回答对你有帮助~

python删除打不开的pdf

python删除打不开的pdf可以用以下方法:

1、python内要对pdf文件进行操作的话,一般都是使用PyPDF2这个第三方模块,而删除pdf页面则需要先将这个文件对象实例化到python中并且创建一个数据写入工具才可以来保存pdf文件。

2、使用for循环去迭代这个reader对象,这个reader对象还要调用getNumPages()方法,此方法的作用就是获取到这个pdf文件的页数,在循环之中创建一个空文档并且将获取到pdf页给写入。

Python解析PDF表格——PDFPlumber vs Camelot

题图来自 Camelot: List o’ 10 Intriguing Mythical Places

为获取LEED认证项目的评分表明细,可以从USGBC的项目页面上爬取,或者从pdf格式的项目评分表中解析得到。以 重庆某LEED EM:OB v2009 Gold项目 为例,USGBC上公布的 LEED项目得分表 其格式并不统一,利用XPath爬取后需要进一步清洗处理。相对而言,LEED项目所对应的 项目评分表PDF文件 的数据更为规范完整。因此考虑尝试解析出PDF文件中的表格,以便后续分析。

Python 处理PDF文件的程序包,pdfminer、tabula、pdfplumber、camelot……查询资料表明,似乎普遍认为pdfminer的效果不怎么好,而tabula需要java支持 ,想偷懒于是只试了pdfplumber和camelot。

安装过程不赘述,直接来看运行结果。

pdfplumber无法直接解析出Scorecard.pdf文件中的表格,但实际上要解决此问题也并非难事。调整下思路,可先解析出pdf文件中的文本,让后通过分列来得到表格。

利用pdfplumber的extract_text()命令可解析出pdf文件中的文本,但由于本次需要解析的得分表pdf文件的排版的原因,左右两个表格的文本行并未完全对齐,因此如果直接解析完整页面上的文本的话,文字会出错。先用corp()命令指定识别范围,然后再extract_text(),识别得到的文本列表如下所示。

对于类似本例中Scorecard.pdf表格排版有错位的情况,也可以按照表格在页面中所处的位置,指定表格识别的范围。所用到的指令:camelot.plot()可以绘制出页面的略图,table_area参数可以指定表格识别的范围。

又及,Camelot原来是亚瑟王和圆桌骑士们的宫殿所在地,和Asgard的Valhalla一样,也是传说中的圣域。搜索camelot程序安装包时无意中学到的,涨知识了。

[1] Python:解析PDF文本及表格——pdfminer、tabula、pdfplumber 的用法及对比

[2] 用Python提取pdf文件中的表格数据

[3] python读取pdf文件

[4] Github: pdfplumber

[5] Camelot: PDF Table Extraction for Humans

[6] ImageMagick Installation

[7] ImageMagick之PDF转换成图片(image)

[8] LEED 2009 for Existing Buildings: Operations Maintenance

[9] Camelot – Wikipedia

[10] List o’ 10 Intriguing Mythical Places

[11] Camelot识别pdf表格时的参数设置补充

Python 哪个库可以删除Excel表格的某行或某列

openpyxl 2.5以上版本可以删除Excel表格的某行或某列。

示例代码:

from openpyxl import *。

filename = ‘test.xlsx’。

wb = wb = load_workbook(filename)。

ws = wb.active。

ws.delete_rows(2,2) #删除index为2后面的2行。

扩展资料:

Python在执行时,首先会将.py文件中的源代码编译成Python的byte code(字节码),然后再由Python Virtual Machine(Python虚拟机)来执行这些编译好的byte code。

这种机制的基本思想跟Java,.NET是一致的。然而,Python Virtual Machine与Java或.NET的Virtual Machine不同的是,Python的Virtual Machine是一种更高级的Virtual Machine。

参考资料来源:百度百科-Python

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
SCHASCHA
上一篇 2024-10-04 00:24
下一篇 2024-10-04 00:24

相关推荐

  • Python中引入上一级目录中函数

    Python中经常需要调用其他文件夹中的模块或函数,其中一个常见的操作是引入上一级目录中的函数。在此,我们将从多个角度详细解释如何在Python中引入上一级目录的函数。 一、加入环…

    编程 2025-04-29
  • Python计算阳历日期对应周几

    本文介绍如何通过Python计算任意阳历日期对应周几。 一、获取日期 获取日期可以通过Python内置的模块datetime实现,示例代码如下: from datetime imp…

    编程 2025-04-29
  • 如何查看Anaconda中Python路径

    对Anaconda中Python路径即conda环境的查看进行详细的阐述。 一、使用命令行查看 1、在Windows系统中,可以使用命令提示符(cmd)或者Anaconda Pro…

    编程 2025-04-29
  • Python周杰伦代码用法介绍

    本文将从多个方面对Python周杰伦代码进行详细的阐述。 一、代码介绍 from urllib.request import urlopen from bs4 import Bea…

    编程 2025-04-29
  • Python列表中负数的个数

    Python列表是一个有序的集合,可以存储多个不同类型的元素。而负数是指小于0的整数。在Python列表中,我们想要找到负数的个数,可以通过以下几个方面进行实现。 一、使用循环遍历…

    编程 2025-04-29
  • python强行终止程序快捷键

    本文将从多个方面对python强行终止程序快捷键进行详细阐述,并提供相应代码示例。 一、Ctrl+C快捷键 Ctrl+C快捷键是在终端中经常用来强行终止运行的程序。当你在终端中运行…

    编程 2025-04-29
  • 蝴蝶优化算法Python版

    蝴蝶优化算法是一种基于仿生学的优化算法,模仿自然界中的蝴蝶进行搜索。它可以应用于多个领域的优化问题,包括数学优化、工程问题、机器学习等。本文将从多个方面对蝴蝶优化算法Python版…

    编程 2025-04-29
  • Python字典去重复工具

    使用Python语言编写字典去重复工具,可帮助用户快速去重复。 一、字典去重复工具的需求 在使用Python编写程序时,我们经常需要处理数据文件,其中包含了大量的重复数据。为了方便…

    编程 2025-04-29
  • Python程序需要编译才能执行

    Python 被广泛应用于数据分析、人工智能、科学计算等领域,它的灵活性和简单易学的性质使得越来越多的人喜欢使用 Python 进行编程。然而,在 Python 中程序执行的方式不…

    编程 2025-04-29
  • Python清华镜像下载

    Python清华镜像是一个高质量的Python开发资源镜像站,提供了Python及其相关的开发工具、框架和文档的下载服务。本文将从以下几个方面对Python清华镜像下载进行详细的阐…

    编程 2025-04-29

发表回复

登录后才能评论