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

参数


代码

python 复制代码
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提取表格效果会更好,但是也有少部分数据可能错行

相关推荐
酷飞飞7 小时前
Python网络与多任务编程:TCP/UDP实战指南
网络·python·tcp/ip
数字化顾问8 小时前
Python:OpenCV 教程——从传统视觉到深度学习:YOLOv8 与 OpenCV DNN 模块协同实现工业缺陷检测
python
学生信的大叔9 小时前
【Python自动化】Ubuntu24.04配置Selenium并测试
python·selenium·自动化
诗句藏于尽头10 小时前
Django模型与数据库表映射的两种方式
数据库·python·django
阿幸软件杂货间10 小时前
Office转PDF转换器v1.0.py
开发语言·pdf·c#
智数研析社10 小时前
9120 部 TMDb 高分电影数据集 | 7 列全维度指标 (评分 / 热度 / 剧情)+API 权威源 | 电影趋势分析 / 推荐系统 / NLP 建模用
大数据·人工智能·python·深度学习·数据分析·数据集·数据清洗
扯淡的闲人10 小时前
多语言编码Agent解决方案(5)-IntelliJ插件实现
开发语言·python
moxiaoran575311 小时前
Flask学习笔记(一)
后端·python·flask
秋氘渔11 小时前
迭代器和生成器的区别与联系
python·迭代器·生成器·可迭代对象
Gu_shiwww11 小时前
数据结构8——双向链表
c语言·数据结构·python·链表·小白初步