跳转到主要内容

为人类设计的PDF表格提取。

项目描述

Camelot: 为人类设计的PDF表格提取

tests Documentation Status codecov.io image image image Gitter chat image

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

在安装 依赖项tkghostscript)后,您还可以使用 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 使用 语义版本控制。有关可用版本,请参阅此存储库上的标签。有关变更日志,请查看 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 查看哈希值

上传时间 Python 3

由以下支持