Camelot 是一个 Python 库,可以帮助你从 PDF 文件中提取表格。
仅需几行代码即可从 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 # 获取一个 pandas DataFrame!
| 周期名称 | KI (1/km) | 距离 (mi) | 燃料节省百分比 | |||
|---|---|---|---|---|---|---|
| 提升速度 | 减少加速 | 消除停车 | 减少怠速 | |||
| 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 提取表格并探索一些基本选项。
提示: 访问 parser-comparison-notebook 以了解所有内置解析器及其功能的概览。
注意: Camelot 仅适用于基于文本的 PDF,不适用于扫描文档。(正如 Tabula 解释 的那样,“如果你能在 PDF 查看器中点击并拖动以选择表格中的文本,那么你的 PDF 就是基于文本的”。)
你可以在这里查看一些 常见问题。
查看 与其他类似库和工具的比较。
安装 Camelot 最简单的方法是使用 conda,它是 Anaconda 发行版的包管理器和环境管理系统。
conda install -c conda-forge camelot-py
你也可以使用 pip 安装 Camelot:
pip install "camelot-py"
请注意,如果你想使用非默认的后端 ghostscript,可能需要 额外的依赖项。
git clone https://github.com/camelot-dev/camelot.git
并使用 pip 安装:
cd camelot
pip install "."
请注意,如果你想使用非默认的后端 ghostscript,可能需要 额外的依赖项。
文档可在 http://camelot-py.readthedocs.io/ 获取。
贡献者指南 提供了关于提交问题、文档、代码和测试的详细信息。
Camelot 使用 语义化版本控制。有关可用版本,请参阅此仓库的标签。关于更新日志,你可以查看 发布页面。
本项目采用 MIT 许可证,详情请见 LICENSE 文件。
文档主题采用单独的类 BSD 许可证,详情请见 LICENSE 文件。