作者 | 若名

出品 | 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科技大本营原创文章,转载请联系作者)

公开课预告

推荐系统

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

推荐阅读

  • 何恺明等最新突破:视频识别快慢结合,取得人体动作AVA数据集最佳水平

  • 20k~65k, 2018年最后一波热门技术岗位, 立刻投简历, 跳槽才是加薪的捷径

  • ofo 遭千万人退押金

  • 更新微信 7.0,你后悔了吗?

  • 程序员求助:被领导强行要求写Bug该怎么办?网友的回答让我笑翻

  • 用Python分析了1982场英雄联盟数据,开局前预测游戏对局胜负!

  • 凭什么老程序员被裁,应届生却能月薪 1.3 万?

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

  1. 讨厌手写,印度小哥开源了一个手写体转换工具,支持中文

    [导语]:Text-to-Handwriting 是一个在线的开源工具,可以将文字输入转为手写体,并提供图片下载. 简介 Text-to-Handwriting 的开发者是个印度小哥,他讨厌手写作业, ...

  2. 在《我的世界》里搭建神经网络,运行过程清晰可见,这位印度小哥开发的新玩法火了...

    点击上方"AI遇见机器学习",选择"星标"公众号 重磅干货,第一时间送达 晓查 凌晨 发自 凹非寺  量子位 报道 | 公众号 QbitAI 可能是疫情吧,大家 ...

  3. python富翁与陌生人编程_GitHub近10万星:印度小哥用Python和Java实现所有AI算法

    原标题:GitHub近10万星:印度小哥用Python和Java实现所有AI算法 又到了招聘季.疫情将我们圈在家里这么长时间,以至于都宅废了! AI的算法你还记得多少?他们都是如何用Python和Ja ...

  4. 屏幕尺寸计算器_计算器能联网?还能聊天?南都科创对话这位印度小哥

    一台带有OLED显示屏.能连WiFi和用来聊天的"升级版"卡西欧计算器在国外火了.南都科创记者近日对话了这位改装计算器的印度技术达人Srinivasan. 事情是这样的: 最近,一 ...

  5. 用camelot读取表格_如何使用Camelot从PDF提取表格

    用camelot读取表格 数据科学 (DATA SCIENCE) 安装 (Installation) If you are on Windows make sure to install Ghosts ...

  6. 这位印度小哥,拯救了山河日下的微软帝国

    IT行业的历史上,微软公司绝对是一个传奇. 上个世纪,在个人电脑的操作系统领域,微软用Windows操作系统打败了苹果和IBM:在浏览器领域,微软用IE浏览器打败了网景:在办公软件领域,微软用offi ...

  7. 怎么提取pdf中的表格数据_如何从pdf第1部分中提取表格数据

    怎么提取pdf中的表格数据 In this article, we talk about the challenges and principles of extracting tabular dat ...

  8. 10行Python代码批量实现pdf转txt,word,提取表格到excel

    在日常工作中,常常要把文档转格式,比如常见pdf转word,pdf转ppt等,如果数量少的话还好,可以直接去网上找网站解决,多了的话就比较麻烦了,因为很多网站都是限制一天只能转几个,再多就得冲vip. ...

  9. 再见PDF提取收费!我用100行Python代码搞定!

    点上方"菜鸟学Python",选择"星标" 第471篇原创干货,第一时间送达 大家在日常的工作和学习过程中,都少不了与PDF文件打交道,很多的小伙伴都面临着将P ...

最新文章

  1. Matplotlib绘制简单函数的梯度下降法
  2. 每周学算法/读英文/知识点心得分享 2.25 - 3.1
  3. Machine Learning week 4 quiz: programming assignment-Multi-class Classification and Neural Networks
  4. linux openfire mysql_Openfire 服务器在Linux上的安装
  5. Lidar SLAM | 地面三维激光雷达测试报告
  6. Codeforces Round #674 (Div. 3) F. Number of Subsequences 简单计数dp
  7. 参考框架 系统 基准_带有基准的前端框架的实际比较
  8. 绝对布局优势_前瞻布局+尖端科技+雄厚资金 恒大解锁造车的“正确姿势”
  9. Win11任务栏一直转圈圈的解决方法
  10. 满二叉树及完全二叉树的相关性质证明
  11. 【BZOJ3489】A simple rmq problem kd-tree
  12. pyecharts制作交互式数据展示地图
  13. keras学习率下降策略
  14. PowerBuilder反编译,PowerBuilder 反编译
  15. 小白都懂的Python爬虫之网易云音乐下载
  16. win10家庭中文版安装win7虚拟机
  17. 关于wps删除不了多余的空白页
  18. 目标追踪(一)环境搭建
  19. 百度分词ai php,百度分词技术
  20. manjaro 安装 tim 后无法输入中文

热门文章

  1. mysql 5.5半同步复制功能部署
  2. HLG 1481 Attack of the Giant n-pus【二分+二分图完全匹配】
  3. 功能演示:戴尔PowerConnect 8024交换机VLAN的创建与删除
  4. 黄聪:穿过主机访问虚拟机中的SQL服务 FOR VMware NAT
  5. php 请求方式,PHP发起HTTP请求有哪几种方式?
  6. github 视觉测量_教你如何提高双目立体视觉系统的精度
  7. tar命令-压缩,解压缩文件
  8. [BZOJ3329] Xorequ
  9. java学习之匿名内部类与包装类
  10. [leetcode]_Integer to Roman