iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python中怎么使用pdfplumber读取PDF写入Excel
  • 881
分享到

Python中怎么使用pdfplumber读取PDF写入Excel

2023-07-02 10:07:45 881人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

本篇内容介绍了“python中怎么使用pdfplumber读取PDF写入excel”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、Pyth

本篇内容介绍了“python中怎么使用pdfplumber读取PDF写入excel”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

Python中怎么使用pdfplumber读取PDF写入Excel

一、Python操作PDF 13大库对比

PDF(Portable Document FORMat)是一种便携文档格式,便于跨操作系统传播文档。PDF文档遵循标准格式,因此存在很多可以操作PDF文档的工具,Python自然也不例外。

Python操作PDF模块对比图如下:

Python中怎么使用pdfplumber读取PDF写入Excel

本文主要介绍pdfplumber专注PDF内容提取,例如文本(位置、字体及颜色等)和形状(矩形、直线、曲线),还有解析表格的功能。

二、pdfplumber模块

其他几个 Python 库帮助用户从 PDF 中提取信息。作为一个广泛的概述,pdfplumber它通过结合以下功能将自己与其他 PDF 处理库区分开来:

  • 轻松访问有关每个 PDF 对象的详细信息

  • 用于提取文本和表格的更高级别、可自定义的方法

  • 紧密集成的可视化调试

  • 其他有用的实用功能,例如通过裁剪框过滤对象

1. 安装

cmd控制台输入:

pip install pdfplumber

导包:

import pdfplumber

案例PDF截图(两页未截全):
Python中怎么使用pdfplumber读取PDF写入Excel

2. 加载PDF

读取PDF代码:pdfplumber.open("路径/文件名.pdf", passWord = "test", laparams = { "line_overlap": 0.7 })

参数解读:

  • password :要加载受密码保护的 PDF,请传递password关键字参数

  • laparams:要将布局分析参数设置为pdfminer.six的布局引擎,请传递laparams关键字参数

案例代码:

import pdfplumberwith pdfplumber.open("./1.pdf") as pdf:    print(pdf)    print(type(pdf))

输出结果:

<pdfplumber.pdf.PDF object at 0x000001A56C323DC0><class 'pdfplumber.pdf.PDF'>

3. pdfplumber.PDF类

pdfplumber.PDF类表示单个 PDF,并具有两个主要属性:

属性说明
.metadata从PDF的Info中获取元数据键 /值对字典。 通常包括“ CreationDate”,“ ModDate”,“ Producer”等。
.pages返回一个包含pdfplumber.Page实例的列表,每一个实例代表PDF每一页的信息

1. 读取PDF文档信息(.metadata

import pdfplumberwith pdfplumber.open("./1.pdf") as pdf:    print(pdf.metadata)

运行结果:

{'Author': 'wangwangyuqing', 'Comments': '', 'Company': '', 'CreationDate': "D:20220330113508+03'35'", 'Creator': 'WPS 文字', 'Keywords': '', 'ModDate': "D:20220330113508+03'35'", 'Producer': '', 'SourceModified': "D:20220330113508+03'35'", 'Subject': '', 'Title': '', 'Trapped': 'False'}

2. 输出总页数

import pdfplumberwith pdfplumber.open("./1.pdf") as pdf:    print(len(pdf.pages))

运行结果:

2

4. pdfplumber.Page类

pdfplumber.Page类是pdfplumber整个的核心,大多数操作都围绕这个类进行操作,它具有以下几个属性:

属性说明
.page_number顺序页码,从1第一页开始,从第二页开始2,依此类推。
.width页面的宽度。
.height页面的高度。
.objects/.chars/.lines/.rects/.curves/.figures/.images这些属性中的每一个都是一个列表,每个列表包含一个字典,用于嵌入页面上的每个此类对象。有关详细信息,请参阅下面的“对象”。

常用方法如下

方法名说明
.extract_text()用来提页面中的文本,将页面的所有字符对象整理为的那个字符串
.extract_words()返回的是所有的单词及其相关信息
.extract_tables()提取页面的表格
.to_image() 用于可视化调试时,返回PageImage类的一个实例
.close()默认情况下,Page对象缓存其布局和对象信息,以避免重新处理它。但是,在解析大型 PDF 时,这些缓存的属性可能需要大量内存。您可以使用此方法刷新缓存并释放内存。

1. 读取第一页宽度、高度等信息

import pdfplumberwith pdfplumber.open("./1.pdf") as pdf:    first_page = pdf.pages[0]  # pdfplumber.Page对象的第一页    # 查看页码    print('页码:', first_page.page_number)    # 查看页宽    print('页宽:', first_page.width)    # 查看页高    print('页高:', first_page.height)

运行结果:

页码: 1页宽: 595.3页高: 841.9

2. 读取文本第一页

import pdfplumberwith pdfplumber.open("./1.pdf") as pdf:    first_page = pdf.pages[0]  # pdfplumber.Page对象的第一页    text = first_page.extract_text()    print(text)

运行结果:

店铺名 价格 销量 地址小罐茶旗舰店 449 474 安徽零趣食品旗舰店 6.9 60000 福建天猫超市 1304 3961 上海天猫超市 139 25000 上海天猫超市 930 692 上海天猫超市 980 495 上海天猫超市 139 100000 上海三只松鼠旗舰店 288 25000 安徽红小厨旗舰店 698 1767 北京三只松鼠旗舰店 690 15000 安徽一统领鲜旗舰店 1098 1580 上海新大猩食品专营9.8 7000 湖南.......舰店蟹纳旗舰店 498 1905 上海三只松鼠坚果at茶 188 35000 安徽嘉禹沪晓旗舰店 598 1517 上海

3. 读取表格第一页

import pdfplumberimport xlwtwith pdfplumber.open("1.pdf") as pdf:    page_one = pdf.pages[0]  # PDF第一页    table_1 = page_one.extract_table()  # 读取表格数据    # 1. 创建Excel表对象    workbook = xlwt.Workbook(encoding='utf8')    # 2. 新建sheet表    worksheet = workbook.add_sheet('Sheet1')    # 3. 自定义列名    col1 = table_1[0]    # print(col1)# ['店铺名', '价格', '销量', '地址']    # 4. 将列属性元组col写进sheet表单中第一行    for i in range(0, len(col1)):        worksheet.write(0, i, col1[i])    # 5. 将数据写进sheet表单中    for i in range(0, len(table_1[1:])):        data = table_1[1:][i]        for j in range(0, len(col1)):            worksheet.write(i + 1, j, data[j])    # 6. 保存文件分两种格式    workbook.save('test.xls')

运行结果:

Python中怎么使用pdfplumber读取PDF写入Excel

三、实战操作

1. 提取单个PDF全部页数

测试代码:

import pdfplumberimport xlwtwith pdfplumber.open("1.pdf") as pdf:    # 1. 把所有页的数据存在一个临时列表中    item = []    for page in pdf.pages:        text = page.extract_table()        for i in text:            item.append(i)    # 2. 创建Excel表对象    workbook = xlwt.Workbook(encoding='utf8')    # 3. 新建sheet表    worksheet = workbook.add_sheet('Sheet1')    # 4. 自定义列名    col1 = item[0]    # print(col1)# ['店铺名', '价格', '销量', '地址']    # 5. 将列属性元组col写进sheet表单中第一行    for i in range(0, len(col1)):        worksheet.write(0, i, col1[i])    # 6. 将数据写进sheet表单中    for i in range(0, len(item[1:])):        data = item[1:][i]        for j in range(0, len(col1)):            worksheet.write(i + 1, j, data[j])    # 7. 保存文件分两种格式    workbook.save('test.xls')

运行结果(上面得没截全):

Python中怎么使用pdfplumber读取PDF写入Excel

2. 批量提取多个PDF文件

Python中怎么使用pdfplumber读取PDF写入Excel

测试代码:

import pdfplumberimport xlwtimport os# 一、获取文件下所有pdf文件路径file_dir = r'E:\Python学习\pdf文件'file_list = []for files in os.walk(file_dir):    # print(files)    # ('E:\\Python学习\\pdf文件', [],    #  ['1.pdf', '1的副本.pdf', '1的副本10.pdf', '1的副本11.pdf', '1的副本2.pdf', '1的副本3.pdf', '1的副本4.pdf', '1的副本5.pdf', '1的副本6.pdf',    #   '1的副本7.pdf', '1的副本8.pdf', '1的副本9.pdf'])    for file in files[2]:        # 以. 进行分割如果后缀为PDF或pdf就拼接地址存入file_list        if file.split(".")[1] == 'pdf' or file.split(".")[1] == 'PDF':            file_list.append(file_dir + '\\' + file)# 二、存入Excel# 1. 把所有PDF文件的所有页的数据存在一个临时列表中item = []for file_path in file_list:    with pdfplumber.open(file_path) as pdf:        for page in pdf.pages:            text = page.extract_table()            for i in text:                item.append(i)# 2. 创建Excel表对象workbook = xlwt.Workbook(encoding='utf8')# 3. 新建sheet表worksheet = workbook.add_sheet('Sheet1')# 4. 自定义列名col1 = item[0]# print(col1)# ['店铺名', '价格', '销量', '地址']# 5. 将列属性元组col写进sheet表单中第一行for i in range(0, len(col1)):    worksheet.write(0, i, col1[i])# 6. 将数据写进sheet表单中for i in range(0, len(item[1:])):    data = item[1:][i]    for j in range(0, len(col1)):        worksheet.write(i + 1, j, data[j])# 7. 保存文件分两种格式workbook.save('test.xls')

运行结果(12个文件,一个文件50行总共600行):

Python中怎么使用pdfplumber读取PDF写入Excel

“Python中怎么使用pdfplumber读取PDF写入Excel”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

--结束END--

本文标题: Python中怎么使用pdfplumber读取PDF写入Excel

本文链接: https://www.lsjlt.com/news/341475.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python中怎么使用pdfplumber读取PDF写入Excel
    本篇内容介绍了“Python中怎么使用pdfplumber读取PDF写入Excel”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、Pyth...
    99+
    2023-07-02
  • Python 操作pdf pdfplumber读取PDF写入Excel
    目录1. Python 操作pdf(pdfplumber读取PDF写入Excel1.1 安装pdfplumber模块库1.2 常用操作1.2.1 Python读取pdf文件案例1.2...
    99+
    2024-04-02
  • Python利用pdfplumber实现读取PDF写入Excel
    目录一、Python操作PDF 13大库对比二、pdfplumber模块1.安装2. 加载PDF3. pdfplumber.PDF类4. pdfplumber.Page类三、实战操作...
    99+
    2024-04-02
  • python怎么读取pdf并写入excel
    要读取PDF文件并将其内容写入Excel文件,可以使用PyPDF2库来读取PDF文件的内容,然后使用openpyxl库来创建和写入E...
    99+
    2024-03-05
    python
  • python用pdfplumber提取pdf表格数据并保存到excel文件中
    目录pdfplumber操作pdf文件一、pdfplumber安装及导入二、pdfplumber基础使用1、基础知识2、获取pdf基础信息3、pdfplumber提取表格数据三、提取...
    99+
    2024-04-02
  • Python怎么实现Excel数据读取和写入
    这篇“Python怎么实现Excel数据读取和写入”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Python怎么实现Exce...
    99+
    2023-06-30
  • python如何操作excel,在excel中读取和写入数据
    Excel是Microsoft为使用Windows和Apple Macintosh操作系统的电脑编写的一款电子表格软件。直观的界面、出色的计算功能和图表工具,再加上成功的市场营销,使Excel成为...
    99+
    2023-10-07
    python excel 开发语言
  • Python如何读取和写入Excel数据
    这篇文章主要介绍“Python如何读取和写入Excel数据”,在日常操作中,相信很多人在Python如何读取和写入Excel数据问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python如何读取和写入Exce...
    99+
    2023-06-02
  • 使用python怎么读写修改Excel
    这期内容当中小编将会给大家带来有关使用python怎么读写修改Excel,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。0、安装模块pip3 install xlrd xlwt...
    99+
    2023-06-15
  • Java利用EasyExcel读取写入Excel详情
    目录EasyExcel介绍为什么使用EasyExcel?封装使用例子EasyExcel介绍 EasyExcel是一个基于Java的、快速、简洁、解决大文件内存溢出的Excel处理工具...
    99+
    2024-04-02
  • python怎么读取pdf内容
    要读取PDF内容,可以使用Python中的第三方库PyPDF2。 首先,确保已经安装了PyPDF2库。可以使用以下命令进行安装: p...
    99+
    2024-02-29
    python
  • python文件怎么读取和写入
    这篇文章主要介绍了python文件怎么读取和写入的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇python文件怎么读取和写入文章都会有所收获,下面我们一起来看看吧。1、读取,read()方法返回文件中保存的字符...
    99+
    2023-06-30
  • python操作Excel读写--使用x
      一、安装xlrd模块    到python官网下载http://pypi.python.org/pypi/xlrd模块安装,前提是已经安装了python 环境。 二、使用介绍   1、导入模块       import xlrd  ...
    99+
    2023-01-31
    操作 python Excel
  • Python使用openpyxl读写excel文件
    需求:读入sample.xlsx中的信息,通过分析其中的身份证号信息,得到每个人的出生日期,性别,年龄,所在省份,星座,属相等等,将结果写入到另一个excel文件中。 首先,要使用openpyxl第三方库需要安装,安装方法如下: pip i...
    99+
    2023-09-11
    python
  • 怎么利用Python实现读取Word表格计算汇总并写入Excel
    这篇文章将为大家详细讲解有关怎么利用Python实现读取Word表格计算汇总并写入Excel,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。前言快过年了,又到了公司年底评级的时候了。今年的评级...
    99+
    2023-06-28
  • Python中怎么读取Excel的图片
    这篇文章给大家介绍Python中怎么读取Excel的图片,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。一、准备由于此次包比较多,我们需要在命令行中使用pip进行安装pip install pillo...
    99+
    2023-06-15
  • 在python中怎么读取和写入CSV文件
    本篇内容介绍了“在python中怎么读取和写入CSV文件”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!前言CSV(Comma-Separat...
    99+
    2023-07-02
  • 如何在python中使用xlwings库读写excel
    如何在python中使用xlwings库读写excel?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1、xlwings 中的逻辑:应用->工作簿->工作表->...
    99+
    2023-06-06
  • 详解Python如何实现Excel数据读取和写入
    目录1. 功能分析2.系统开发环境3.安装依赖库4. 主函数设计5.模块设计1. 功能分析 1.加载文件夹内所有的Excel数据; 2.生产贡献度分析图表(以柱状图显示表格数据); ...
    99+
    2024-04-02
  • python怎么读取excel数据
    在Python中读取Excel数据通常使用的是pandas库。可以通过以下步骤来读取Excel数据: 首先需要安装pandas库,...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作