当前位置: 首页 > article >正文

camelot pdf提取表格实践(记录)

参考:
巧用Python的camelot库批量提取PDF发票信息
关于文本pdf的表格抽取

AttributeError: module ‘camelot‘ has no attribute ‘read_pdf‘及类似问题解决办法
camelot 参数
https://blog.csdn.net/INTSIG/article/details/123000010

在这里插入图片描述
报错解决:
ModuleNotFoundError: No module named ‘Workbook’ xlwt,是版本太低,升级版本即可。 pip install --upgrade xlwt

介绍:
camelot方法有两种解析模式:流解析(stream)、格子解析(lattice),其中格子解析能够保留表格完整的样式,对于复杂表格来说要优于流解析模式。同时,camelot方法默认格子解析(lattice),而采用这种解析方式,需要安装ghostscript。

camelot是一个可以从可编辑的pdf文档中抽取表格的开源框架,与pdfplumber相比,其功能完备性差了点,除了表格抽取之外,并不能用它从pdf文档中解析出字符、单词、文本、线等较为低层次的对象。

下载ghostscript https://www.ghostscript.com/releases/gsdnld.html

参数

在这里插入图片描述
在这里插入图片描述

代码

import camelot
import pandas as pd
# 使用Camelot读取PDF文件中的表格
tables = camelot.read_pdf('pdf.pdf', pages='all', flavor='lattice')

# 将所有表格转换为 DataFrame 并合并
all_data = pd.concat([table.df for table in tables], ignore_index=True)

all_data.to_excel('all_data.xlsx',index=False)

识别效果:不太理想,文本排序有问题。pdfplumber提取表格效果会更好,但是也有少部分数据可能错行
在这里插入图片描述


http://www.kler.cn/a/273795.html

相关文章:

  • fastGpt 本地运行 mongo, 要加 directConnection=true 参数
  • Angular生命周期
  • Rust 中调用 Drop 的时机
  • 基于springboot的网上商城购物系统
  • maven的简单介绍
  • 第3章:Go语言复合数据类型
  • 计算机网络拓扑结构
  • 通过spring boot/redis/aspect 防止表单重复提交【防抖】
  • 一键制作iOS上架App Store描述文件教程
  • 从SQL质量管理体系来看SQL审核(2) - SQL质量标准
  • 优化选址问题 | 粒子群算法求解物流选址问题含Matlab源码
  • Transformer的前世今生 day03(Word2Vec
  • 内盘期货交易系统的全开源代码
  • 代码随想录算法训练营第day31|455.分发饼干 ● 376. 摆动序列 ● 53. 最大子序和
  • 安装vcenter管理esxi
  • SD卡RAW故障解析与数据恢复全攻略
  • 24计算机考研调剂 | 【官方】山东师范大学(22自命题)
  • C#,图论与图算法,图(Graph)广度优先遍历(BFS,Breadth First Search)算法与源代码
  • android api 34 编译ffmpeg with libfdk-aac
  • Linux docker1--环境及docker安装
  • 【Excel自动化办公】使用openpyxl对Excel进行读写操作
  • 服务器病毒木马通用排查处理应急响应流程
  • 使用RabbitMQ,关键点总结
  • Samtec科普 | 一文了解患者护理应用连接器
  • 【Unity】层(Layer)详解
  • 玩转电商新趋势!淘宝商品评论电商API接口助你一臂之力