迅闻网
让更多人看到你

用三行代码提取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中的信息。
60eff2917d4ec1ffa11c610c2b7f0c45.webpPDF文件。咱们需要提取表格2-1。
运用Camelot提取表格数据的代码如下:

代码
>>>importcamelot
>>>tables=camelot.read_pdf(‘foo.pdf’)#类似于Pandas打开CSV文件的方式>>>tables[0].df#getapandasDataFrame!>>>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
1>
>>>tables[0]
7,7)>#取得输出的格局>>>tables[0].parsing_report
{
‘accuracy’:99.02,
‘whitespace’:12.24,
‘order’:1,
‘page’:1}
以下为输出的成果,关于兼并的单元格,Camelot在抽取后做了空行处理,这是一个稳妥的办法。
8110121c3984e4b343a727c1fbc40e08.webp
装置办法
项目作者供给了三种装置办法。首要,你能够运用Conda进行装置,这是最简略的。
condainstall-cconda-forgecamelot-py
最流行的装置办法是运用pip装置。
pipinstallcamelot-py[cv]
还能够从项目中克隆代码,并运用源码装置。
gitclonehttps://www.github.com/camelot-dev/camelotcdcamelot
pipinstall”.[cv]”

未经允许不得转载:迅闻网 » 用三行代码提取PDF表格数据
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

迅闻网-让更多人看到你

登录/注册返回首页