来源 : 机器之心

从 PDF 表格中获取数据是一项痛苦的工作。不久前,一位开发者提供了一个名为 Camelot 的工具,使用三行代码就能从 PDF 文件中提取表格数据。

PDF 文件是一种非常常用的文件格式,通常用于正式的电子版文件。它能够很好的将不同的排版格式固定下来,形成版面清晰且美观的展示效果。然而,对于想要从 PDF 中提取信息的人们来说,PDF 是个噩梦,尤其是表格。

大量的学术报告、论文、分析文章都使用 PDF 展示其中的表格数据,但是对于如果想要直接从表格中复制数据则会非常麻烦。不久前,有一位开发者提供了一个可从文字 PDF 中提取表格信息的工具——Camelot,能够直接将大部分表格转换为 Pandas 的 Dataframe。

  • 项目地址:https://github.com/camelot-dev/camelot

Camelot 是什么

据项目介绍称,Camelot 是一个 Python 工具,用于将 PDF 文件中的表格数据提取出来。

具体而言,用户可以像使用 Pandas 那样打开 PDF 文件,然后利用这个工具提取表格数据,最后再指定输出的形式(如 csv 文件)。

代码示例

项目提供的 PDF 文件如图所示,假设用户需要提取这些文字之间的表格 2-1 中的信息。

PDF 文件。我们需要提取表格 2-1。

使用 Camelot 提取表格数据的代码如下:

>>> import camelot
>>> tables = camelot.read_pdf('foo.pdf') #类似于Pandas打开CSV文件的形式
>>> tables[0].df # get a pandas DataFrame!
>>> tables.export('foo.csv', f='csv', compress=True) # json, excel, html, sqlite,可指定输出格式
>>> tables[0].to_csv('foo.csv') # to_json, to_excel, to_html, to_sqlite, 导出数据为文件
>>> tables
<TableList n=1>
>>> tables[0]
<Table shape=(7, 7)> # 获得输出的格式
>>> tables[0].parsing_report
{'accuracy': 99.02,'whitespace': 12.24,'order': 1,'page': 1
}

以下为输出的结果,对于合并的单元格,Camelot 在抽取后做了空行处理,这是一个稳妥的方法。

安装方法

项目作者提供了三种安装方法。首先,你可以使用 Conda 进行安装,这是最简单的。

conda install -c conda-forge camelot-py

最流行的安装方法是使用 pip 安装。

pip install camelot-py[cv]

还可以从项目中克隆代码,并使用源码安装。

git clone https://www.github.com/camelot-dev/camelot
cd camelot
pip install ".[cv]"
推荐阅读:
入门: 最全的零基础学Python的问题  | 零基础学了8个月的Python  | 实战项目 |学Python就是这条捷径
干货:爬取豆瓣短评,电影《后来的我们》 | 38年NBA最佳球员分析 |   从万众期待到口碑扑街!唐探3令人失望  | 笑看新倚天屠龙记 | 灯谜答题王 |用Python做个海量小姐姐素描图 |碟中谍这么火,我用机器学习做个迷你推荐系统电影
趣味:弹球游戏  | 九宫格  | 漂亮的花 | 两百行Python《天天酷跑》游戏!
AI: 会做诗的机器人 | 给图片上色 | 预测收入 | 碟中谍这么火,我用机器学习做个迷你推荐系统电影
小工具: Pdf转Word,轻松搞定表格和水印! | 一键把html网页保存为pdf!|  再见PDF提取收费! | 用90行代码打造最强PDF转换器,word、PPT、excel、markdown、html一键转换 | 制作一款钉钉低价机票提示器! |60行代码做了一个语音壁纸切换器天天看小姐姐!|

年度爆款文案

  • 1).卧槽!Pdf转Word用Python轻松搞定!

  • 2).学Python真香!我用100行代码做了个网站,帮人PS旅行图片,赚个鸡腿吃

  • 3).首播过亿,火爆全网,我分析了《乘风破浪的姐姐》,发现了这些秘密

  • 4).80行代码!用Python做一个哆来A梦分身

  • 5).你必须掌握的20个python代码,短小精悍,用处无穷

  • 6).30个Python奇淫技巧集

  • 7).我总结的80页《菜鸟学Python精选干货.pdf》,都是干货

  • 8).再见Python!我要学Go了!2500字深度分析!

  • 9).发现一个舔狗福利!这个Python爬虫神器太爽了,自动下载妹子图片

点阅读原文,看200个Python案例!

小技巧!三行 Python 代码提取 PDF 表格数据,快来试试!相关推荐

  1. python读取pdf表格数据代码_Python新工具:用三行代码提取PDF表格数据

    原标题:Python新工具:用三行代码提取PDF表格数据 机器之心报道 项目作者:vinayak mehta,参与:一鸣 从 PDF 表格中获取数据是一项痛苦的工作.不久前,一位开发者提供了一个名为 ...

  2. Python新工具:用三行代码提取PDF表格数据

    点击上方"视学算法",星标公众号 重磅干货,第一时间送达 项目作者:vinayak mehta 参与:一鸣 从 PDF 表格中获取数据是一项痛苦的工作.不久前,一位开发者提供了一个 ...

  3. web怎么用代码创造表格_Python新工具:用三行代码提取PDF表格数据

    机器之心报道 项目作者:vinayak mehta参与:一鸣 从 PDF 表格中获取数据是一项痛苦的工作.不久前,一位开发者提供了一个名为 Camelot 的工具,使用三行代码就能从 PDF 文件中提 ...

  4. [小技巧] 使用tabula批量提取pdf中的表格

    想不到我也能更新这种东西了 原文链接~~~~~ [小技巧] 使用tabula批量提取pdf中的表格https://mp.weixin.qq.com/s/HWLneqJj42ywLghPR-ushA 起 ...

  5. python读取pdf表格_Python使用Tabula提取PDF表格数据

    今天遇到一个批量读取pdf文件中表格数据的需求,样式大体是以下这样: python读取PDF无非就是三种方式(我所了解的),pdfminer.pdf2htmlEX 和 Tabula.综合考虑后,选择了 ...

  6. python tabula 使用方法_Python使用Tabula提取PDF表格数据

    今天遇到一个批量读取pdf文件中表格数据的需求,样式大体是以下这样: python读取PDF无非就是三种方式(我所了解的),pdfminer.pdf2htmlEX 和 Tabula.综合考虑后,选择了 ...

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

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

  8. python处理表格数据-基于Python快速处理PDF表格数据

    我们有下面一张PDF格式存储的表格,现在需要使用Python将它提取出来. 使用Python提取表格数据需要使用pdfplumber模块,打开CMD,安装代码如下: pip install pdfpl ...

  9. python提取表格数据匹配_excle表格处理python|python怎么提取excle表格数据

    python怎么提取excle表格数据 通过实例来,在Excle表格中有数据和文字结合的内容 把Excle表格中的,复制--粘贴到word中. 按下ctrl F键,打开"查找和替换" ...

  10. R语言提取PDF表格数据#简单!!!

    R语言提取PDF表格数据#简单!!! #需要用到pdftables包以及api号,api需要从https://pdftables.com网站注册申请api,一般申请后可以免费转50页pdf insta ...

最新文章

  1. 英语计算机工程师求职信,电脑工程师的英文求职信样文
  2. 豪华电动汽车品牌“歌昂” 即将登场,背后是国内新造车势力新特
  3. GridView自动排序(原创)
  4. Lync Server存档和监控服务器PART A:准备篇
  5. hdu-4501-小明系列故事——买年货(四维背包)
  6. Git图形化管理工具
  7. push和unshift方法
  8. 持久化雪花视图实例学习
  9. 【Java】Java中的在Linux和Mac以及Windows上使用File.separator的坑
  10. GTK+图形化应用程序开发学习笔记(六)—按钮
  11. javascript函数的声明,及返回值
  12. 计算机技能比赛试题,计算机技能竞赛比赛试题文字录入WORDEXCEL
  13. 微信测试是否被删软件,拒绝好友测试!教你在对方不知情下如何查看是否被微信好友删除...
  14. rss对称网卡linux,dpdk-18.11网卡多队列RSS设置
  15. unity 3d音效如何设置?,近大远小
  16. 微信公众号自定义菜单修改
  17. selenium翻页获取京东图书名称和价格
  18. 【BUCTOJ训练: 质数的和与积(Python)】
  19. 数组名 和数组名的理解
  20. java supplier接口_Java函数式接口Supplier接口实例详解

热门文章

  1. 【python】美女在召唤,python批量采集~
  2. 从罗马到杭州 (当走进前端社区)
  3. 对话富通科技CEO赵伟:企业上云潮下 MSP正步入『黄金时代』
  4. 个人理财第十课-【债券基金】筛选实操课
  5. 4515DO-DS3BK004DP压差传感器MEAS
  6. 2021《银行管理与法律法规》考试大纲
  7. 最新 配置Https 2017年1月1日起所有提交到 App Store 的App必须强制开启 ATS
  8. flutter 应用内收费_Wiredash for Flutter的应用内反馈
  9. C语言 练习1 4选3 排列
  10. 看完四场卖房直播后,我读懂了“RARRA”增长模型的根本逻辑