当前位置:网站首页>一键提取pdf中的表格
一键提取pdf中的表格
2022-07-06 09:13:00 【zkkkkkkkkkkkkk】
前言:
因工作需要,现在需要将pdf中的表格原封不对的输出csv或者数据库表,然后开启了苦逼的调研之路。经过调研,目前支持从可编辑pdf中读取出表格的Python库有:pdfminer3k、tabula、pdfplumber 等。三个库都有瑕疵。但是比好用的话我还是更偏向 pdfplumber 。自我感觉pdfplumber 简单易于实现功能。下面文章是关于 pdfplumber 的介绍。如对另外两个Python库感兴趣的话可以自行查看相关资料。对于pdf中非可编辑(图片中表格识别)问题,可能这个库就帮不上你什么忙了。
目录
一、pdfplumber介绍
1.1、介绍
先看一段官方介绍:pdfplumber支持垂直查看PDF,查看每个文本字符、矩形和行的详细信息。 附加功能:表提取和可视化调试。最适合机器生成的,而不是扫描的pdf文件。总体来说pdfplumber是一个集多种功能为一身的pdf处理工具。
1.2、代码开源git地址
1.3、官方文档
1.4、安装方式
pip install pdfplumber
二、简单使用
2.1、数据集介绍
数据为交易流水,pdf表格为可编辑。目的是将表格里的数据提取出来。
2.2、代码实现
import pdfplumber
# path = 'D:\\202104147187110045_1.pdf'
path = '../recognize_img/demo_img/有框表格可编辑.pdf'
pdf = pdfplumber.open(path)
# 获取pdf页数对象
print(pdf.pages) # [<Page:1>]
count = 0
for page in pdf.pages:
count += 1
# page.extract_text()可以抓取当前页的全部信息,因为内容较多就先注释。
# print(page.extract_text())
for table in page.extract_tables():
for row in table:
print(row)
print(f'============ 第{count}页解析结束 ============')
# 转为dataframe输出
# pass
pdf.close()
3.3、结果输出
结果是以每行列表的形式输出的。如果有需要csv或者数据库需求的话,可以先将下面的数据转为dataframe,然后再输出到目标源。
边栏推荐
- [ahoi2009]chess Chinese chess - combination number optimization shape pressure DP
- 【博主推荐】asp.net WebService 后台数据API JSON(附源码)
- CSDN blog summary (I) -- a simple first edition implementation
- API learning of OpenGL (2004) gl_ TEXTURE_ MIN_ FILTER GL_ TEXTURE_ MAG_ FILTER
- [leectode 2022.2.13] maximum number of "balloons"
- How to find the number of daffodils with simple and rough methods in C language
- CSDN-NLP:基于技能树和弱监督学习的博文难度等级分类 (一)
- 连接MySQL数据库出现错误:2059 - authentication plugin ‘caching_sha2_password‘的解决方法
- MySQL 20 MySQL data directory
- frp内网穿透那些事
猜你喜欢
Installation and use of MySQL under MySQL 19 Linux
CSDN问答模块标题推荐任务(二) —— 效果优化
Install mysql5.5 and mysql8.0 under windows at the same time
How to find the number of daffodils with simple and rough methods in C language
windows无法启动MYSQL服务(位于本地计算机)错误1067进程意外终止
[reading notes] rewards efficient and privacy preserving federated deep learning
[C language foundation] 04 judgment and circulation
Copie maître - esclave MySQL, séparation lecture - écriture
Pytoch LSTM implementation process (visual version)
Mysql34 other database logs
随机推荐
Timestamp with implicit default value is deprecated error in MySQL 5.6
MySQL25-索引的创建与设计原则
Windows cannot start the MySQL service (located on the local computer) error 1067 the process terminated unexpectedly
Installation and use of MySQL under MySQL 19 Linux
windows下同时安装mysql5.5和mysql8.0
Global and Chinese markets for aprotic solvents 2022-2028: Research Report on technology, participants, trends, market size and share
Asp access Shaoxing tourism graduation design website
项目实战-后台员工信息管理(增删改查登录与退出)
MySQL28-数据库的设计规范
SSM integrated notes easy to understand version
windows无法启动MYSQL服务(位于本地计算机)错误1067进程意外终止
Postman Interface Association
Just remember Balabala
The virtual machine Ping is connected to the host, and the host Ping is not connected to the virtual machine
Discriminant model: a discriminant model creation framework log linear model
CSDN问答标签技能树(一) —— 基本框架的构建
[Thesis Writing] how to write function description of jsp online examination system
Water and rain condition monitoring reservoir water and rain condition online monitoring
【博主推荐】C#MVC列表实现增删改查导入导出曲线功能(附源码)
How to find the number of daffodils with simple and rough methods in C language