python处理表格数据-基于Python快速处理PDF表格数据
我们有下面一张PDF格式存储的表格,现在需要使用Python将它提取出来。
使用Python提取表格数据需要使用pdfplumber模块,打开CMD,安装代码如下:
pip install pdfplumber
安装完之后,将需要使用的模块导入
import pdfplumberimport pandas as pd
然后打开PDF文件
# 使用with语句打开pdf文件
with pdfplumber.open("D:\python\cai\yq.pdf") as pdf:
# pages[0]表示取第1页
page = pdf.pages[0]
我们来打印输出下获取到的文本,这句语句只是帮我们验证下是否成功获取到PDF里的内容
print(page.extract_text())
执行的结果如下,看来是成功了
然后可以使用extract_table()函数获取表格,如果有多个表格,可以使用extract_tables()函数,就是多了个s
d1=page.extract_table()
执行代码后,将得到一个列表,还不是数据框
所以最后一步就是将列表转为数据框就可以了,代码如下:
df = pd.DataFrame(d1[1:], columns=d1[0])
执行代码后,将得到了df数据框
有几个注意事项要提醒下:
1.pdf表格中的数据,对于同一个数据或内容,不要有换行,如果换行,可能被识别为2个数据;
2.pdf中的表格一定要有边框,没有边框的话,否则使用extract_table()函数就无法获取表格数据,extract_text()还是可以获取文本信息的,不要问我是怎么知道的,说多了都是泪。
我们现在有一份PDF数据,里面有三页,每页都有一样数据结构但数据不同的数据表,现在需要使用Python将它批量提取出来。
有了上回经验,我们就直接上代码:
import pdfplumber
import pandas as pd
# 创建一个空数据框
df = pd.DataFrame()
# 使用with语句打开pdf文件
with pdfplumber.open("D:\python\cai\5.pdf") as pdf:
# 使用for循环遍历每个pages
for page in pdf.pages:
# 取出当前页表格,结果为列表
d=page.extract_table()
# 将列表转为数据框
df1 = pd.DataFrame(d[1:], columns=d[0])
#添加至df数据框中
df = df.append(df1)
执行代码后,将得到了df数据框
是不是so easy 呢?
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
本文标题: 基于Python快速处理PDF表格数据
本文地址: http://www.cppcns.com/jiaoben/python/315871.html
python处理表格数据-基于Python快速处理PDF表格数据相关推荐
- Python数据分析初探项目 基于Python数据可视化的网易云音乐歌单分析系统 大学编程作业(TUST 天津科技大学 2022年)
Python 数据分析初探项目 基于 Python 数据可视化的网易云音乐歌单分析系统 大学编程作业(TUST 天津科技大学 2022 年) Python 数据分析初探项目 基于 Python 数据可 ...
- Python之GUI:基于Python的GUI界面设计的一套AI课程学习(机器学习、深度学习、大数据、云计算等)推荐系统(包括语音生成、识别等前沿黑科技)
Python之GUI:基于Python的GUI界面设计的一套AI课程学习(机器学习.深度学习.大数据.云计算等)推荐系统(包括语音生成.识别等前沿黑科技) 导读 基于Python的GUI界面设计的一套 ...
- Python语言学习:基于python五种方法实现使用某函数名【func_01】的字符串格式('func_01')来调用该函数【func_01】执行功能
Python语言学习:基于python五种方法实现使用某函数名[func_01]的字符串格式('func_01')来调用该函数[func_01]执行功能 目录 问题提出 代码五种设计思路 T1方法:e ...
- 如何基于MaxCompute快速打通数据仓库和数据湖的湖仓一体实践
简介: MaxCompute 是面向分析的企业级 SaaS 模式云数据仓库,以 Serverless 架构提供快速.全托管的在线数据仓库服务,消除了传统数据平台在资源扩展性和弹性方面的限制,最小化用户 ...
- Python人脸识别教程 - 基于Python的开源人脸识别库:离线识别率高达99.38%
Python人脸识别教程 - 基于Python的开源人脸识别库:离线识别率高达99.38% 仅用 Python 和命令行就可以实现人脸识别的库开源了.该库使用 dlib 顶尖的深度学习人脸识别技术构建 ...
- 计算机数据表格展示,利用工具,一分钟完成数据可视化,快速输出美观的数据图表...
天天跟表格打交道的办公室的表哥表妹,为了能让老板看的更一目了然,可以说是费时费力. 今天小姐姐给大家分享一下如何利用工具,一分钟完成数据可视化,快速输出美观的数据图表. [新手们必须收藏转发呀] 为什 ...
- Origin中导入数据后怎样快速便捷的观看数据迷你图
Origin中导入数据后怎样快速便捷的观看数据迷你图 在Origin中做大批量数据统计分析且有多个参数时,可以先验通过各个参数的迷你图大致看出数据走势规律,但有时候导入数据后不会自动生成迷你图,这时就 ...
- python爬虫表格table_Python基于pandas爬取网页表格数据
以网页表格为例:https://www.kuaidaili.com/free/ 该网站数据存在table标签,直接用requests,需要结合bs4解析正则/xpath/lxml等,没有几行代码是搞不 ...
- python 物理实验_基于Python和梯度下降算法的物理实验数据一元线性拟合方法
基于 Python 和梯度下降算法的物理实验数据一元线性拟 合方法 关毅铬 ; 程敏熙 [期刊名称] < <物理通报> > [年 ( 卷 ), 期] 2019(000)010 ...
最新文章
- 在SQL中使用CRL函数示例
- 效果很好的asp.net的数据库访问模型(优化,封装一体化)
- 2022年美国大学生数学建模竞赛常见问题汇总
- pcb matrix ipc lp viewer软件中SMN、SMM、SML三个库的区别
- 从零写一个编译器(十一):代码生成之Java字节码基础
- 国内互联网公司算法机器学习岗(阿里星)面试总结
- linux中切换到上级目录,vsftp中控制用户是否允许切换到上级目录
- Python使用JSON序列化从入门到精通
- 基于双生视界的live2d提取与查看方法
- 快速掌握——LCD1602液晶显示(多组实验,附带源程序)
- 基于阿里云的基础架构设施保障(一)IAAS云计算
- 台式电脑连接电脑主机与显示器
- python3中英文混合字符串的分离
- Maven2的新特性
- [IOS APP]毕淑敏经典有声小说
- 斐讯N1 – 完美刷机Armbian教程
- 复习IO流复制文件时,文件损坏并且文件变得超大(FileInputStream和FileOutputStream)数组复制
- 怎样改变照片大小?免费在线图片压缩方法
- 07 Python数据类型详解
- 【C语言】assert() 断言的作用