
从 PDF 表格中获取数据是一项疾苦的事变。不久前,一位开拓者提供了一个名为 Camelot 的器材,行使三行代码就能从 PDF 文件中提取表格数据。
PDF 文件是一种非经常用的文件名目,凡是用于正式的电子版文件。它可以或许很好的将差异的排版名目牢靠下来,形成版面清楚且雅观的展示结果。然而,对付想要从 PDF 中提守信息的人们来说,PDF 是个恶梦,尤其是表格。
大量的学术陈诉、论文、说明文章都行使 PDF 展示个中的表格数据,可是对付假如想要直接从表格中复制数据则会很是贫困。不久前,有一位开拓者提供了一个可从笔墨 PDF 中提取表格信息的器材——Camelot,可以或许直接将大部门表格转换为 Pandas 的 Dataframe。
- 项目地点:https://github.com/camelot-dev/camelot
Camelot 是什么
据项目先容称,Camelot 是一个 Python 器材,用于将 PDF 文件中的表格数据提取出来。
详细而言,用户可以像行使 Pandas 那样打开 PDF 文件,然后操作这个器材提取表格数据,最后再指定输出的情势(如 csv 文件)。
代码示例
项目提供的 PDF 文件如图所示,假设用户必要提取这些笔墨之间的表格 2-1 中的信息。
PDF 文件。我们必要提取表格 2-1。
行使 Camelot 提取表格数据的代码如下:
- >>> import camelot
- >>> tables = camelot.read_pdf('foo.pdf') #相同于Pandas打开CSV文件的情势
- >>> tables[0].df # get a pandas DataFrame!
- >>> tables.export('foo.csv', f='csv', compress=True) # json, excel, html, sqlite,可指定输格外式
- >>> tables[0].to_csv('foo.csv') # to_json, to_excel, to_html, to_sqlite, 导出数据为文件
- >>> tables
- <TableList n=1>
- >>> tables[0]
- <Table shape=(7, 7)> # 得到输出的名目
- >>> tables[0].parsing_report
- {
- 'accuracy': 99.02,
- 'whitespace': 12.24,
- 'order': 1,
- 'page': 1
- }
以下为输出的功效,对付归并的单位格,Camelot 在抽取后做了空行处理赏罚,这是一个稳妥的要领。
安装要领
项目作者提供了三种安装要领。起首,你可以行使 Conda 举办安装,这是最简朴的。
- conda install -c conda-forge camelot-py
最风行的安装要领是行使 pip 安装。
- pip install camelot-py[cv]
还可以从项目中克隆代码,并行使源码安装。
- git clone https://www.github.com/camelot-dev/camelot
- cd camelot
- pip install ".[cv]"
【编辑保举】
- 用Python说明国庆旅游景点,汇报你哪些处所好玩、自制、人又少
- 四年完成400万行Python代码搜查,乃至随手写了个编译器
- Python 从入门到能干:一个月就够了!
- Python 带你来一次说走就走的举世观光
【责任编辑:张燕妮 TEL:(010)68476606】
点赞 0 (编辑:湖南网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|