python语言程序设计pdf教程(python语言程序设计基础)
如果经常跟数据表格打交道,那你应该体验过那种令人烦躁到抓狂的心情。但现在,学会下面将要介绍的一款工具的使用方法,相信我,它会让你在工作中简直不能更舒爽。
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 系统,以并行和分布式方式执行表格提取任务。默认情况下,任务按顺序执行。
快速上手指南
下载和安装
设置开发环境
你可以使用 pip 轻松安装开发依赖项:
$ pip install excalibur-py [dev]
进群:960410445 获取更多案例教程!
测试(很快)
安装后,你可以使用以下命令运行测试:
$ 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 格式。