pdfplumber简介

(1)可以方便地获取pdf的各种信息,包括文本、表格、图表、尺寸等,它不支持修改或生成pdf,也不支持对pdf扫描件的处理

(2)pdfplumber中有两个基础类,PDF和Page。前者用来处理整个文档,后者用来处理整个页面

实操步骤:

(1) 使用pdfplumber提取表格文本

①使用 pdfplumber.open("path/to/file.pdf") 读取pdf,返回一个pdfplumber.PDF类实例

PS.加载带密码的pdf需要传入参数password,例如:pdfplumber.open("file.pdf", password = "test")

②pdfplumber.PDF类介绍

Ⅰ.metadata属性:从PDF的Info中获取元数据键 /值对字典。 通常包括“ CreationDate”,“ ModDate”,“ Producer”等。

Ⅱ.pages属性:一个包含多个pdfplumber.Page实例的列表,每一个实例代表PDF每一页的信息。

Ⅲ.len(pdf.pages)——读取页数;first_page=pdf.pages[0]——选取页码

③pdfplumber.Page类介绍

Ⅰ.page_number属性:页码顺序,从第一页的1开始,第二页为2,依此类推

Ⅱ.width属性/.height属性:页面宽度/宽度

Ⅲ.extract_text(x_tolerance=0, y_tolerance=0)方法:将页面的所有字符对象整理到一个字符串中。

  • 若其中一个字符的x1与下一个字符的x0之差大于x_tolerance,则添加空格。
  • 若其中一个字符的doctop与下一个字符的doctop之差大于y_tolerance,则添加换行符。

Ⅳ.extract_tables(table_settings) 方法:从页面中提取表格数据

  • .find_tables(table_settings={}):返回Table对象的列表。Table对象提供对.cells,.rows和.bbox属性以及.extract(x_tolerance = 3, y_tolerance = 3)方法的访问。
  • .extract_tables(table_settings={}):返回从页面上找到的所有表中提取的文本,并以结构table -> row -> cell的形式表示为列表列表的列表。
  • .extract_table(table_settings={}):返回从页面上最大的表中提取的文本,以列表列表的形式显示,结构为row -> cell。 (如果多个表具有相同的大小——以单元格的数量来衡量——此方法将返回最接近页面顶部的表
  • .debug_tablefinder(table_settings={}):返回TableFinder类的实例,可以访问.edges,.intersections,.cells和.tables属性

输出:

(2)整理成dataframe格式,保存为excel

输出:

每天一个小实例——使用pdfplumber提取pdf表格及文本,并保存到excel相关推荐

  1. Python提取PDF表格及文本!(附源码)

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. PS:如有需要Python学习资料的小伙伴可以点击下方链接自行获取 Python免费学习资料 ...

  2. Python按关键字提取txt文本并保存到Excel

    简单介绍 将会议上语音转成的文字文本按主要关键字提取,例如"上周的KPI"."没达标的原因"."遇到的问题"."解决方法" ...

  3. html class和id,css教程之样式表的基本语法(二) class(类)和id的一个小实例

    class(类)和id的一个小实例 在上一节中我们了解了如何为特定的标签定义样式,例如我们利用 "h1{font-size: 12px;}"将页面内所有的标题1的字体大小改为了12 ...

  4. Jmeter Web 性能测试入门 (四):一个小实例带你学会 Jmeter 脚本编写

    测试场景: 模拟并发100个user,在TesterHome 站内搜索VV00CC 添加线程组 添加HTTP信息头管理器 添加HTTP Sampler 填写HTTP Sampler中的信息 添加监听器 ...

  5. 使用Bootstrap框架写的一个小实例

    今天学习了一下Bootstrap框架,,写一个小实例练练手,感受一下bootstrap兼容三端的强大. <!doctype html> <html lang="zh-CN& ...

  6. 一个小实例——借书Demo

    一个小实例--借书Demo Step 1 布局文件 Step 2 初始化控件 Step 3 初始化数据 第一步 创建数据model 第二步 初始化数据 Step 4 添加监听器 实现基本功能 Step ...

  7. python提取pdf表格数据并保存到excel中

    pdfplumber操作pdf文件 python开源库pdfplumber,可以较为方便地获取pdf的各种信息,包含pdf的基本信息(作者.创建时间.修改时间-)及表格.文本.图片等信息,基本可以满足 ...

  8. 白嫖谷歌 GPU 资源!使用神经网络提取 PDF 表格工具来了,支持图片

    贾浩楠 发自 凹非寺 量子位 报道 | 公众号 QbitAI "表哥表姐"们还在为大量PDF文件中的表格发愁吗? 百度一下,网上有大量提取PDF表格的工具,但是,它们都只支持文本格 ...

  9. 使用神经网络提取PDF表格工具来了,支持图片,关键是能白嫖谷歌GPU资源

    贾浩楠 发自 凹非寺 量子位 报道 | 公众号 QbitAI "表哥表姐"们还在为大量PDF文件中的表格发愁吗? 百度一下,网上有大量提取PDF表格的工具,但是,它们都只支持文本格 ...

最新文章

  1. Swift:UIKit中Demo(一)
  2. ERROR: Could not install packages due to an EnvironmentError: [WinError 5] 拒绝访问
  3. hibernate mysql annotation_hibernate学习笔记03-- hibernate + mysql + Annotation
  4. 高等学校精品规划教材 计算机专业英语,计算机专业英语
  5. Request请求总结
  6. 与 30 家公司过招,得到了这章面试心法
  7. ITK:读取DICOM系列并写入3D图像
  8. PHP版_游戏扫码登录器程序源码
  9. 怀旧服最新服务器塞卡尔,魔兽世界怀旧服:10个至今未开门的服务器!圣光服进度刚到20%!...
  10. 动态时间规整算法(DTW)通俗易懂
  11. 实测解决:SpringBoot 中 Invalid character found in the request target 异常
  12. python deepcopy函数_Python对象引用与可变性
  13. mysql针对特定表不做binlog_MySQL笔记--主从复制
  14. 在ubantu16.04系统下安装ros操作系统
  15. 将yolov4的权重文件转换为wts文件
  16. 由计算机病毒引起的问题属于,多数情况下由计算机病毒程序引起的问题属于()故障。A.硬件B.软件C.操作D.电源...
  17. Longhorn云原生文件存储
  18. 计算机发展史图,图说计算机发展史
  19. 代码工程 /Qt /5.9.3源码编译
  20. Java - Set 接口

热门文章

  1. win10家庭中文版安装Hyper-V
  2. 哈斯HASS数控系统CNC数据采集
  3. vs 2015 各版本下载地址
  4. 未来计算机发展趋势作文,未来的计算机作文300字(精选3篇)
  5. XMind 8 pro for Mac(思维导图软件)破解教程
  6. java求学生的总分和平均分_c语言中求课程总分、平均分。学生总分及平均分
  7. 恢复数据库sql语句:sourse
  8. 超微主板升级bios_AMD又给CPU打鸡血了!但刷BIOS前你要懂这些
  9. Emojis should be wrapped in <span>, have role=“img“, and have an accessible description with aria-la
  10. bazel tensorflow模型压缩