印度小哥“神剑”:PDF提取表格so easy!

2018 年 12 月 24 日 AI100

作者 | 若名

出品 | AI科技大本营


如果经常跟数据表格打交道,那你应该体验过那种令人烦躁到抓狂的心情。但现在,学会下面将要介绍的一款工具的使用方法,相信我,它会让你在工作中简直不能更舒爽。


Excalibur,从古希腊语翻译过来就是“神剑”,它现在也是一种用于从 PDF 中提取表格数据的 Web 界面,使用 Python 3 编写,由 Camelot(Python 库) 提供支持,可以让任何人轻松地从 PDF 文件中提取表格数据。需要注意的是,Excalibur 仅适用于基于文本的 PDF 文件,扫描文件不在此列。


Camelot 和 Excalibur 的作者和维护者是来自新德里 Bharati Vidyapeeth 工程学院的 Vinayak Mehta,目前他正全职做这些项目。


Excalibur 的四大特性


可移植文件格式


PDF 文件定义了将字符放置在相对于页面左下角的 x,y 坐标的指令。通过将某些字符放在比其他字符更近的地方来模拟单词。空格是通过将单词放在相对较远的地方来模拟的。最后,通过放置在电子表格中显示的字词来模拟表格,格式没有表格结构的内部表示。


自动检测 PDF 中的表格数据


可移植文件格式不是为表格数据设计的。可悲的是,许多开放数据共享时都是 PDF 文件,但对其中的表格进行分析却是一件非常痛苦的事。简单的复制粘贴行不通,Excalibur 通过自动检测 PDF  中的表格并让你通过 Web 界面将它们保存为 CSV 和 Excel 文件,这使 PDF 表格提取变得非常简单。


可动态调整表格提取规则


虽然有很多广泛用于 PDF 表格提取的开源和闭源工具,但他们输出的表格良莠不齐。Excalibur 由 Camelot 提供支持,为用户提供附加设置以调整表格提取并获得最佳效果。相较而言,它的性能要好于其他开源工具和库。


数据完全可控且安全


你可以完全控制数据,因为所有文件存储和处理都在你自己的本地或远程计算机上进行。Excalibur 还可以配置 MySQL 和 Celery 系统,以并行和分布式方式执行表格提取任务。默认情况下,任务按顺序执行。


快速上手指南


下载和安装


https://github.com/camelot-dev/excalibur/releases

https://excalibur-py.readthedocs.io/en/master/user/install.html#install


设置开发环境


你可以使用 pip 轻松安装开发依赖项:


$ pip install excalibur-py [dev]


测试(很快)


安装后,你可以使用以下命令运行测试:


$ python setup.py test


使用“神剑”


安装后,可以使用以下命令初始化元数据的数据库:


$ excalibur initdb


然后使用以下命令启动 Web 服务器:


$ excalibur webserver


现在,你可以转到 http:// localhost:5000 并开始从 PDF 文件中提取表格数据。

     

上传 PDF


你可以使用 Web 界面上传 PDF 文件,还可以与之前的上传进行整合。



自动检测表格


Excalibur 可以自动检测 PDF 中的表格。



绘制表格区域或者放置分隔符


如果表格深埋在文本内部并且自动检测失败,则可以通过绘制表格区域和列分隔符进行操作。



加载已保存的规则设置


你也可以保存 PDF 文件中表格提取的规则设置,并将其应用于新的 PDF 文件以提取具有类似结构的表格。


     

查看和下载数据


最后,你可以查看提取的表格并将其下载为 CSV 或 Excel 文件。Excalibur 还支持 JSON 和 HTML 格式。



最后给出源代码链接,你可以通过以下方式查看最新源代码:


$ git clone https://www.github.com/camelot-dev/excalibur


(*本文为AI科技大本营原创文章,转载请联系作者)


公开课预告

推荐系统


在当今人工智能浪潮之下,个性化推荐技术更是风靡业界,在金融、传媒、短视频、电商、教育等诸多领域大放异彩,影响人们生活的方方面面。不仅方便了人们获取各种各样的信息,还给企业带来了收益的大幅提升。本次分享带你揭开个性化推荐的神秘面纱,从推荐算法到大型系统架构进行全面剖析。



推荐阅读

登录查看更多
3

相关内容

【实用书】学习用Python编写代码进行数据分析,103页pdf
专知会员服务
195+阅读 · 2020年6月29日
Python地理数据处理,362页pdf,Geoprocessing with Python
专知会员服务
114+阅读 · 2020年5月24日
干净的数据:数据清洗入门与实践,204页pdf
专知会员服务
162+阅读 · 2020年5月14日
【实用书】Python爬虫Web抓取数据,第二版,306页pdf
专知会员服务
118+阅读 · 2020年5月10日
【书籍推荐】简洁的Python编程(Clean Python),附274页pdf
专知会员服务
181+阅读 · 2020年1月1日
【精通OpenCV 4】Mastering OpenCV 4 - Third Edition 随书代码
专知会员服务
40+阅读 · 2019年11月13日
如何使用自然语言工具包(NLTK)在Python3中执行情感分析
Python程序员
19+阅读 · 2019年10月28日
3 行代码 5 秒抠图的 AI 神器,根本无需 PS
大数据技术
20+阅读 · 2019年7月24日
告别 PS !3 行代码 5 秒搞定抠图的 AI 神器!
程序人生
6+阅读 · 2019年7月11日
Github项目推荐 | pikepdf - Python的PDF读写库
AI研习社
9+阅读 · 2019年3月29日
抖音爬虫
专知
3+阅读 · 2019年2月11日
还在PS里手动描边?AI自动抠图只需5秒
机器之心
12+阅读 · 2018年12月19日
Github 项目推荐 | 用 PyTorch 0.4 实现的 YoloV3
AI研习社
9+阅读 · 2018年8月11日
10个深度学习软件的安装指南(附代码)
数据派THU
17+阅读 · 2017年11月18日
Arxiv
14+阅读 · 2020年1月27日
Arxiv
35+阅读 · 2019年11月7日
Mesh R-CNN
Arxiv
4+阅读 · 2019年6月6日
CoQA: A Conversational Question Answering Challenge
Arxiv
7+阅读 · 2018年8月21日
Arxiv
9+阅读 · 2018年5月7日
Arxiv
5+阅读 · 2018年1月29日
Arxiv
5+阅读 · 2015年9月14日
VIP会员
相关VIP内容
相关资讯
如何使用自然语言工具包(NLTK)在Python3中执行情感分析
Python程序员
19+阅读 · 2019年10月28日
3 行代码 5 秒抠图的 AI 神器,根本无需 PS
大数据技术
20+阅读 · 2019年7月24日
告别 PS !3 行代码 5 秒搞定抠图的 AI 神器!
程序人生
6+阅读 · 2019年7月11日
Github项目推荐 | pikepdf - Python的PDF读写库
AI研习社
9+阅读 · 2019年3月29日
抖音爬虫
专知
3+阅读 · 2019年2月11日
还在PS里手动描边?AI自动抠图只需5秒
机器之心
12+阅读 · 2018年12月19日
Github 项目推荐 | 用 PyTorch 0.4 实现的 YoloV3
AI研习社
9+阅读 · 2018年8月11日
10个深度学习软件的安装指南(附代码)
数据派THU
17+阅读 · 2017年11月18日
相关论文
Arxiv
14+阅读 · 2020年1月27日
Arxiv
35+阅读 · 2019年11月7日
Mesh R-CNN
Arxiv
4+阅读 · 2019年6月6日
CoQA: A Conversational Question Answering Challenge
Arxiv
7+阅读 · 2018年8月21日
Arxiv
9+阅读 · 2018年5月7日
Arxiv
5+阅读 · 2018年1月29日
Arxiv
5+阅读 · 2015年9月14日
Top
微信扫码咨询专知VIP会员