python+camelot库:提取pdf中的表格数据

ops/2025/1/11 22:06:34/

camelot库支持将pdf中提取到的表格数据转为不同格式的文件保存。

安装:pip install camelot-py

运行报错处理,出现报错:from .core import TableList
ImportError: cannot import name 'TableList' from 'camelot.core' (E:\python\lib\site-packages\camelot\core\__init__.py)
原因是同时安装了camelot 和 camelot-py导致,卸载掉其中一个,两个库的用法一样。

支持将读取到的表格数据转为以下格式的文件:"csv", "html", "json", "markdown", "excel", "sqlite"

read_pdf参数:

filepath:pdf文件对象。

process_background:背景线处理(process_background=True)。

pages:要提取表格的页面范围,可以是单个页面或多个页面,如值为‘1-4’,表示1到4页,如写成‘1,4,6’表示提取第1,第4,第6页的数据。

flavor:PDF解析器的类型,默认为"lattice",常用选择"stream"。

table_areas:要提取表格的区域范围,可以是单个区域或区域范围的列表[x1,y1,x2,y2]。

password:如果PDF文件有密码,需要提供密码。

python">import camelotdef read_pdf_tables(pdf_path):tables = camelot.read_pdf(pdf_path, pages='1,3,6', flavor='stream', table_areas=['100,600,600,100'])tables.export(fr'{pdf_path.split(".")[0]}.html')  # 一次性将所有读取到的数据转为对应格式的文件for tb in tables:# 将单个页面提取到的数据转为对应格式的文件# tb.to_csv(fr'{pdf_path.split(".")[0]}.csv')# tb.to_html(fr'{pdf_path.split(".")[0]}.html')# tb.to_json(fr'{pdf_path.split(".")[0]}.json')# tb.to_markdown(fr'{pdf_path.split(".")[0]}.md')# tb.to_sqlite(fr'{pdf_path.split(".")[0]}.db')print(tb.df) # 打印数据print(tb.data)  # 列表数据形式打印获取到的数据# 打印没行,每列,每个单元格的位置print(tb.rows)print(tb.cols)print(tb.cells)

http://www.ppmy.cn/ops/149260.html

相关文章

Google Chrome 去除更新 Windows

这个很烦,经常弹出,又不想更新。 1.使用组策略编辑器 此方法适用于 Windows 系统且系统为专业版及以上版本,家庭版系统没有组策略功能。 按下Win R键,打开 “运行” 对话框,输入gpedit.msc并回车,打开组策…

[0405].第05节:搭建Redis主从架构

Redis学习大纲 一、3主3从的集群配置: 1.1.集群规划 1.分片集群需要的节点数量较多,这里我们搭建一个最小的分片集群,包含3个master节点,每个master包含一个slave节点,结构如下: 2.每组是一主一从&#x…

【YOLOv8杂草作物目标检测】

YOLOv8杂草目标检测 算法介绍模型和数据集下载 算法介绍 YOLOv8在禾本科杂草目标检测方面有显著的应用和效果。以下是一些关键信息的总结: 农作物幼苗与杂草检测系统:基于YOLOv8深度学习框架,通过2822张图片训练了一个目标检测模型&#xff…

《零基础Go语言算法实战》 【题目 1-15】字符串的比较

《零基础Go语言算法实战》 【题目 1-15】字符串的比较 请用 Go 语言实现一个算法,在不使用额外存储结构的条件下判断一个字符串的所有字 符是否全都相同,字符串的长度不能超过 3000。 【解答】 ① 思路。 本题需要实现一个算法来判断字符串中的所有…

通过LlaMA-Factory导出的模型部署到Ollama

LlaMA-Factory导出的模型转换格式 仓库地址:https://github.com/ggerganov/llama.cpp git clone仓库之后,下载相关依赖: cd /opt/gl/llama.cpp-master/llama.cpp-master pip install -r requirements.txt转换大模型格式 转换为gguf格式 pyt…

iPhone升级iOS18黑屏?2025最新修复办法分享

你是不是迫不及待想试试苹果最新的 iOS 18 系统,结果升级过程或者升级后出现黑屏问题?最近不少用户反馈出iPhone升级最新iOS18出现黑屏问题。 不担心,这个问题其实很好解决,下面就给大家分享升级iOS18出现黑屏的问题和解决办法&am…

OpenCV相机标定与3D重建(53)解决 Perspective-3-Point (P3P) 问题函数solveP3P()的使用

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 根据 3 个 3D-2D 点对应关系找到物体的姿态。 cv::solveP3P 是 OpenCV 中的一个函数,用于解决 Perspective-3-Point (P3P) 问题。该问…

Redis 安装与 Spring Boot 集成指南

安装 Redis 和将其与 Spring Boot 应用集成是构建高效缓存解决方案的常见步骤。以下是详细的指南,帮助你在本地环境中安装 Redis,并在 Spring Boot 项目中配置和使用它。 1. 安装 Redis Windows 环境 Redis 官方并不直接支持 Windows,但你…