当前位置: 首页 > 网络应用技术

Camelot:从PDF提取数据

时间:2023-03-05 19:06:34 网络应用技术

  Camelot:友好的PDF形式数据提取工具

  Python命令行工具,以便任何人都可以轻松地从PDF文件中绘制形式数据。

  使用Camelot从PDF文档中提取数据非常简单

  Camelot有三种安装方法:

  注意:

  如果稍后引入情况,可能会出现错误,可能会缺少错误,您可以使用PIP安装。

  源代码参考文献文档:https://github.com/socialcopsdev/camelot文档:https://camelot-readthedocs.io/en/en/master/

  从PDF文件中提取表格:

  上述示例的说明:1。创建一个表对象

  默认情况下,Camelot仅使用PDF提取表。要指定多个页面,您可以使用页面关键字参数:

  您也可以使用命令行执行相同的操作

  页面关键字参数接受页码页码的逗号分隔的字符串。,20末。

  注意:

  如果PDF文件是加密表,则需要添加密码参数,并且值是解密密码

  命令行:

  目前,Camelot仅支持使用ASCII密码和算法代码1或2加密的PDF。如果无法读取PDF,则是异常的。这可能是因为未提供密码,密码不正确或不支持加密算法。

  2.查看表格(线和列)的形状。查看表的索引,以查看我们可以使用其索引访问每个表。从上面的代码片段,我们可以看到表对象的一个表只有一个表,因为n = 1.LET使用索引访问索引表0并检查其形状。

  3.打印分析报告。

  从解析参数的评估标准来看,准确性非常好,空白较少,这意味着表最有可能正确提取表。您可以使用表对象的DF属性作为pandas dataframe访问表。

  4.以提取形式打印内容数据格式是pandas datafrane,因此请与DF访问

  5.导出表格中的内容可以使用其to_csv()方法将表导出为csv file..或您可以使用to_json()或方法表将其导出到JSON格式,Excel,HTML文件或SQLITE数据库。如下:

  以上1?5步可以直接通过命令行完成。

  使用的PDF示例的门户: - >此处

  流可用于解析表以模拟表结构。它是在PDFMiner的功能上构建的,即使使用边缘间距,页面上的字符也将其分组为单词和句子。

  网格本质上更多,并且不依赖于投机。它可用于分析分配在单元之间的线,并且可以自动分析页面上的多个表。

  它首先使用它来转换它,然后使用该应用程序处理它以获取。

  处理步骤如下:1。检测细分市场

  2.线段叠加了“和”其像素强度以检测线路。

  3.通过re -re -re -line段计算,这次是“或”其像素强度。

  4.由于PDF页面的大小和图像不同,因此检测到的表边界,线路跨点和线段将放大到PDF页面的坐标空间中,并创建表单的形式。

  5.使用线段和线交叉检测来生成单元6。最后,页面上的单词将根据其X和y坐标分配给表格的单元格

  使用Caselot参数:

  参数描述:

  -Q Quiet文本未输出日志和警告-P页文本范围,可以很好地使用或页码范围,例如:1,3,4或1,4-PW-PASSWordtext解密密码-O- 输出文本输出路径-F-format [CSVJSON-zip create-split-split-split_text split文本由多个单元格跨度。flag-flag_size根据字体的大小标记文本。strip_text文本在将字符串分配给单元格之前,应删除表中的字符-M -Margins字符边缘,行边缘和单词的单词边缘

  原始:https://juejin.cn/post/7095555842400346439