Python利用pdfplumber实现读取PDF写入Excel

下面是“Python利用pdfplumber实现读取PDF写入Excel”的完整实例教程:

1. 安装pdfplumber和openpyxl

在使用pdfplumber和openpyxl前,需要先安装它们。可以使用pip命令安装:

pip install pdfplumber openpyxl

2. 读取PDF文件

在使用pdfplumber读取PDF文件前,需要先引入pdfplumber:

import pdfplumber

读取PDF文件的操作很简单:使用pdfplumber打开文件,然后获取每一页的文本内容。下面是示例代码:

pdf_file = pdfplumber.open('test.pdf')
for page in pdf_file.pages:
    page_text = page.extract_text()
    print(page_text)
pdf_file.close()

上述代码会将test.pdf文件中的所有内容打印出来。

3. 写入Excel文件

在使用openpyxl写入Excel文件前,需要先引入openpyxl:

import openpyxl

写入Excel文件的操作也很简单:创建一个workbook对象,然后在其上创建一个worksheet对象,并将数据写入worksheet对象中。下面是示例代码:

workbook = openpyxl.Workbook()
worksheet = workbook.active
worksheet['A1'] = 'Hello'
worksheet['B1'] = 'World'
workbook.save('test.xlsx')

上述代码会创建一个名为test.xlsx的Excel文件,并在其中写入“Hello”和“World”。

4. 将PDF文件内容写入Excel文件

现在我们需要将PDF文件中的内容读取出来,并写入Excel文件中。下面是完整的示例代码:

import pdfplumber
import openpyxl

pdf_file = pdfplumber.open('test.pdf')
workbook = openpyxl.Workbook()
worksheet = workbook.active

for page in pdf_file.pages:
    page_text = page.extract_text()
    for line in page_text.split('\n'):
        line_list = line.split()
        for i, cell_value in enumerate(line_list):
            worksheet.cell(row=i+1, column=len(worksheet['A'])+1, value=cell_value)

pdf_file.close()
workbook.save('output.xlsx')

上述代码会将test.pdf中的所有文本内容按单词拆分,并逐个写入到一个Excel文件中,文件名为output.xlsx。

5. 其他示例说明

1)获取PDF文件中的表格内容并写入Excel文件

可以使用pdfplumber的extract_table()方法来获取PDF文件中的表格内容,并将其写入Excel文件。示例代码如下:

import pdfplumber
import openpyxl

pdf_file = pdfplumber.open('test.pdf')
workbook = openpyxl.Workbook()
worksheet = workbook.active

for page in pdf_file.pages:
    table = page.extract_table()
    for row in table:
        worksheet.append(row)

pdf_file.close()
workbook.save('output.xlsx')

2)获取PDF文件中的图片并保存到本地

可以使用pdfplumber的extract_image()方法来获取PDF文件中的图片,并保存到本地。示例代码如下:

import pdfplumber

pdf_file = pdfplumber.open('test.pdf')

for page in pdf_file.pages:
    for img in page.images:
        img_obj = img['stream'].get_object()
        img_name = img_obj.get('Name')
        with open(f"{img_name}.jpg", "wb") as f:
            f.write(img["stream"].get_raw())

pdf_file.close()

上述代码会将test.pdf中的所有图片保存到本地,并以图片名称作为文件名保存。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python利用pdfplumber实现读取PDF写入Excel - Python技术站

(0)
上一篇 2023年5月14日
下一篇 2023年5月14日

相关文章

  • spark dataframe全局排序id与分组后保留最大值行

    在Spark中,DataFrame是一种基于分布式数据集的分布式数据容器。DataFrame可以被看做是一种具有schema的RDD,而且可以很方便地提供关系型数据库的操作方式。在进行数据操作时,会经常用到排序和分组,下面我将详细讲解如何进行全局排序id和分组后保留最大值行的操作。 全局排序id 全局排序id是指对整个数据集进行排序,并为每一行赋一个唯一的编…

    python 2023年6月6日
    00
  • 以Python的Pyspider为例剖析搜索引擎的网络爬虫实现方法

    以下是详细讲解“以Python的Pyspider为例剖析搜索引擎的网络爬虫实现方法”的攻略。 简介 Pyspider是一个基于Python的web爬虫框架,可以用来进行数据抓取、数据处理和数据存储。本篇攻略将介绍Pyspider的基本使用方法,以及如何利用Pyspider实现搜索引擎的网络爬虫。 安装 使用Pyspider之前,需要先安装Pyspider及其…

    python 2023年5月14日
    00
  • python程序运行进程、使用时间、剩余时间显示功能的实现代码

    实现Python程序的运行进程、使用时间和剩余时间的显示功能需要使用Python标准库中的time模块和os模块。下面是一个完整的实现代码和详细的攻略说明: import time import os def get_terminal_size(): """ 获取终端窗口大小 """ env = o…

    python 2023年6月2日
    00
  • Python3内置模块之json编解码方法小结【推荐】

    下面就对Python3内置模块之json编解码方法小结进行详细讲解。 什么是JSON? JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。它具有自描述性且易于阅读和编写,常用于Web应用程序之间的数据传输。 Python中的JSON模块 Python中的json模块提供了编码和解码JSON数据的功能。它定义了两个方法…

    python 2023年5月31日
    00
  • Python基础知识方法重写+文件处理+异常处理

    Python基础知识方法重写 在Python中,可以通过方法重写来修改类的默认行为。方法重写指的是在子类中定义与父类同名的方法,从而覆盖父类的默认行为。 方法重写的一般步骤如下: 定义一个继承自父类的子类。 在子类中定义与父类同名的方法。 在子类方法中可以通过super()函数调用被重写的父类方法。 例如,下面的例子演示了如何通过方法重写来修改Python中…

    python 2023年5月13日
    00
  • Excel 如何计算两个日期之间的百分比

    要在 Excel 中计算两个日期之间的百分比,可以使用“DIVIDE”函数。以下是 Excel 如何计算两个日期之间的百分比的完整攻略: 计算两个日期之间的百分比 要计算两个日期之间的百分比,可以使用“DIVIDE”函数。具体步骤如下: 打开 Excel,选择包含数据的单元格,例如 A1 和 A2。 在单元格 B1 中输入以下公式:=DIVIDE(A1,A2…

    云计算 2023年5月10日
    00
  • Python是什么?有什么用途?

    Python是一种高级、解释性的计算机编程语言。它拥有简单易学、简洁优美、易读易写等诸多优点,深受程序员的喜爱。Python可以应用于多种领域,包括web开发、人工智能、科学计算、数据分析等。 Python的应用范围非常广泛,下面我来列举几个典型的应用场景: 1. Web开发 Python可以用来开发web应用。有很多web框架可以供开发者选择,如Djang…

    python 2023年4月19日
    00
  • python分布式编程实现过程解析

    Python分布式编程实现过程解析 分布式编程是目前互联网应用开发中非常重要的一部分,因为分布式架构可以提高系统的扩展性和可靠性。本篇文章将介绍如何使用Python实现分布式编程,并提供两个示例说明。 分布式编程概述 分布式编程是一种通过多台计算机共同完成一个任务的编程方式。通常情况下,分布式系统包含一个或多个服务器和多个客户端,并且服务器与客户端之间通过网…

    python 2023年5月19日
    00
合作推广
合作推广
分享本页
返回顶部