为人类设计的PDF表格提取。
项目描述
Camelot: 为人类设计的PDF表格提取
Camelot 是一个Python库,可以帮助您从PDF中提取表格!
注意: 您还可以查看Camelot的Web界面Excalibur!
以下是如何从PDF中提取表格的示例。 您可以在此处查看此示例中使用的PDF 这里。
>>> import camelot >>> tables = camelot.read_pdf('foo.pdf') >>> tables <TableList n=1> >>> tables.export('foo.csv', f='csv', compress=True) # json, excel, html, markdown, sqlite >>> tables[0] <Table shape=(7, 7)> >>> tables[0].parsing_report { 'accuracy': 99.02, 'whitespace': 12.24, 'order': 1, 'page': 1 } >>> tables[0].to_csv('foo.csv') # to_json, to_excel, to_html, to_markdown, to_sqlite >>> tables[0].df # get a pandas DataFrame!
周期名称 | KI (1/km) | 距离(英里) | 燃料节省百分比 | |||
---|---|---|---|---|---|---|
提高速度 | 减少加速度 | 消除停车 | 减少怠速 | |||
2012_2 | 3.30 | 1.3 | 5.9% | 9.5% | 29.2% | 17.4% |
2145_1 | 0.68 | 11.2 | 2.4% | 0.1% | 9.5% | 2.7% |
4234_1 | 0.59 | 58.7 | 8.5% | 1.3% | 8.5% | 3.3% |
2032_2 | 0.17 | 57.8 | 21.7% | 0.3% | 2.7% | 1.2% |
4171_1 | 0.07 | 173.9 | 58.1% | 1.6% | 2.1% | 0.5% |
Camelot还附带命令行界面!
注意: Camelot仅适用于基于文本的PDF,而不是扫描文档。(如Tabula解释,“如果您可以在PDF查看器中点击并拖动以选择表中的文本,则您的PDF是文本基础”。)
您可以在这里查看一些常见问题。
为什么选择Camelot?
- 可配置性:Camelot通过可调整设置,让您控制表格提取过程。
- 指标:您可以基于准确性和空白等指标丢弃不良表格,而无需手动查看每个表格。
- 输出:每个表格都被提取到 pandas DataFrame 中,可以无缝集成到 ETL 和数据分析工作流程。您还可以将表格导出为多种格式,包括 CSV、JSON、Excel、HTML、Markdown 和 Sqlite。
查看 与其他类似库和工具的比较。
支持开发
如果 Camelot 对您有所帮助,请考虑通过 OpenCollective 进行一次性或月度捐赠来支持其开发。
安装
使用 conda
安装 Camelot 最简单的方法是使用 conda,它是一个用于 Anaconda 分发的包管理器和环境管理系统。
$ conda install -c conda-forge camelot-py
使用 pip
在安装 依赖项(tk 和 ghostscript)后,您还可以使用 pip 安装 Camelot
$ pip install "camelot-py[base]"
从源代码
在安装 依赖项后,使用以下命令克隆存储库
$ git clone https://www.github.com/camelot-dev/camelot
然后使用 pip 安装 Camelot
$ cd camelot $ pip install ".[base]"
文档
文档可在 http://camelot-py.readthedocs.io/ 找到。
包装器
- camelot-php 为 Camelot 提供了一个 PHP 包装器。
贡献
《贡献指南》提供了关于贡献问题、文档、代码和测试的详细信息。
版本
Camelot 使用 语义版本控制。有关可用版本,请参阅此存储库上的标签。有关变更日志,请查看 HISTORY.md。
许可证
本项目采用 MIT 许可证,有关详细信息,请参阅 LICENSE 文件。
项目详情
下载文件
下载适合您平台文件。如果您不确定要选择哪个,请了解更多关于 安装软件包 的信息。
源分发
camelot-py-0.11.0.tar.gz (40.1 kB 查看哈希值)
构建分发
camelot_py-0.11.0-py3-none-any.whl (41.0 kB 查看哈希值)