python实现PDF中表格转化为Excel的方法

yizhihongxing

以下是详细讲解如何用Python将PDF中的表格转换为Excel的完整实例教程。

教程概述

本教程将介绍如何使用Python和一些相关的库,将PDF中的表格转换为Excel文件。主要使用了以下库:

  • tabula-py:用于提取PDF中的表格数据。
  • pandas:用于将提取的表格数据转换为Excel文件。

步骤说明

在开始这个实例之前,请确保你已经按照以下步骤安装好了必要的库:tabula-py、pandas、numpy、PyPDF2。

第一步:准备工作

首先,从在线PDF文件或本地计算机上的PDF文件中获取表格数据。如果从在线PDF文件中获取表格数据,则需要使用requests库下载PDF文件。如果是从本地计算机上的PDF文件中获取表格数据,则需要提供PDF文件的路径。

例如,我们可以使用以下代码从本地计算机上的PDF文件中获取表格数据:

import tabula

# 设置表格在PDF文件中的位置和页面范围
table_area = [252.875, 104.875, 532.875, 684.1]
pages = 1

# 读取PDF文件中的内容到dataframe
df = tabula.read_pdf('example.pdf', pages=pages, area=table_area)[0]
print(df)

在这个实例中,我们首先使用tabula.read_pdf()函数读取文件,设置了表格所在的位置和页面范围,并且指定读取PDF文件的第1页。在这个特定的例子中,表格的位置被指定为tabula.read_pdf()函数中的table_area,该位置是通过测量PDF文档的像素坐标得出的。

第二步:转换为Excel

接下来,我们可以使用pandas库将表格数据转换为Excel文件。

以下是一个示例代码,将前面读取的表格数据保存到Excel文件中:

import pandas as pd

# 将表格数据转换为Excel文件
df.to_excel('example.xlsx',index=False,header=True)

在上面的代码中,我们使用pandas.DataFrame.to_excel()方法将表格数据保存为Excel文件。其中,参数index和header用于控制保存到Excel文件中的数据是否包括索引和标题。

第三步:完整代码

综上所述,以下是一个完整的实例代码,可以将PDF文件中的表格数据提取出来并保存为Excel文件:

import tabula
import pandas as pd

# 设置表格在PDF文件中的位置和页面范围
table_area = [252.875, 104.875, 532.875, 684.1]
pages = 1

# 读取PDF文件中的内容到dataframe
df = tabula.read_pdf('example.pdf', pages=pages, area=table_area)[0]

# 将表格数据转换为Excel文件
df.to_excel('example.xlsx',index=False,header=True)

第四步:实例说明

以下是两个示例说明:

示例一:从在线PDF网站中提取表格数据

假设我们想从https://www.worldometers.info/coronavirus/country/us/网站中提取美国各州对疫情的数据。我们可以使用以下代码:

import requests
import tabula
import pandas as pd

# 获取PDF文件
url = 'https://www.worldometers.info/coronavirus/wp-content/uploads/sites/2/2021/10/ALL-states-causes-of-death-per-day.pdf'
response = requests.get(url)

# 读取PDF文件中的内容到dataframe
df = tabula.read_pdf(response.content,pages='all',multiple_tables=True)[-1]

# 将表格数据转换为Excel文件
df.to_excel('covid_death.xlsx',index=False,header=True)

在这个代码中,我们首先使用requests库从网络上获取PDF文件,然后使用tabula-py库从获取的PDF内容中提取表格数据。注意,在这里我们使用multiple_tables = True参数来指示tabula-py库处理单个PDF文件中的多个表格,因为在这个PDF文件中包含很多表格。最后,我们将提取的表格数据转换为Excel文件。

示例二:在PDF中寻找表格坐标

PDF文件中的表格数据可以是任意位置的,所以我们需要一种方法来确定表格在PDF文件中的确切位置。一种简单的方法是使用PDF浏览器进行查看,并使用像Adobe Acrobat这样的应用程序来标记表格的坐标。然后,我们可以使用测量工具来获取表格上的坐标位置,并在Python代码中使用这些坐标位置。

例如,我们可以使用以下代码从本地计算机上的PDF文件中获取表格数据:

import tabula

# 设置表格在PDF文件中的位置
table_area = [81.535, 107.587, 573.328, 695.667]
pages = 1

# 读取PDF文件中的内容到dataframe
df = tabula.read_pdf('example.pdf', pages=pages, area=table_area)[0]
print(df)

在这个实例中,我们使用tabula.read_pdf()函数读取文件,设置了表格所在的位置,在这个例子中,表格的位置被指定为tabula.read_pdf()函数中的table_area。表格的位置是以PDF文档像素坐标的形式输入的。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python实现PDF中表格转化为Excel的方法 - Python技术站

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

相关文章

  • 在Python的Flask框架中实现全文搜索功能

    以下是“在Python的Flask框架中实现全文搜索功能”的完整攻略: 一、全文搜索功能的基本原理 全文搜索是一种基于文本内容的搜索技术,它可以在文本中查找特定的关键字或短语,并返回包含这些关键字或短语的文本。全文搜索通常使用倒排索引(Inverted Index)来实现,它将文本中的每个单词映射到包含该单词的文档列表中。 在实现全文搜索功能时,我们需要将文…

    python 2023年5月14日
    00
  • 使用批处理for命令清除事件查看器所有Windows EventLog日志

    清除事件查看器所有Windows EventLog日志需要使用批处理for命令,下面是完整攻略: 步骤一:打开命令提示符窗口 按下Win+R快捷键,打开运行对话框,输入cmd并按下Enter键,打开命令提示符窗口。 步骤二:输入for命令清除Windows EventLog日志 输入以下命令: for /f "tokens=*" %1 i…

    python 2023年6月13日
    00
  • python实现删除文件与目录的方法

    下面是关于 Python 实现删除文件和目录的详细攻略。 删除文件 在 Python 中,我们可以使用 os 模块中的 remove() 方法来删除文件。 import os os.remove(‘temp.txt’) 当你运行上述代码时,Python 将会删除名为 temp.txt 的文件。如果文件不存在,会抛出 FileNotFoundError 异常。…

    python 2023年6月2日
    00
  • Python爬取APP下载链接的实现方法

    下面我来详细讲解一下“Python爬取APP下载链接的实现方法”的完整攻略。 准备工作 安装Python环境(建议使用Python3); 安装requests库和BeautifulSoup库,它们是爬取网页信息的重要工具。 在命令行中使用以下两行命令安装这两个库: pip install requests pip install beautifulsoup4…

    python 2023年6月3日
    00
  • Python 中 -m 的典型用法、原理解析与发展演变

    在Python中,-m是一个常用的命令行参数,它可以用于执行Python模块。以下是Python中-m的典型用法、原理解析与发展演变的详细攻略: 1. 典型用法 在Python中,-m的典型用法是用于执行Python模块。使用-m参数可以直接执行Python模块,而不需要使用python命令和模块文件名。例如,要执行名为example的Python模块,可以…

    python 2023年5月15日
    00
  • Python 函数头等对象

    Python 中的函数不仅仅是执行代码的一段程序,还可以被当做一个对象来使用。这种特殊的对象被称为函数头等对象,也就是函数可以像变量一样直接使用。在这里,我们将详细说明如何使用Python函数头等对象以及常见的用法。 函数头等对象的使用方法 获取函数对象: Python 中定义函数后,可以通过直接将函数名赋值给变量来获取函数头等对象。例如,f = funct…

    python-answer 2023年3月25日
    00
  • 详解Python中Pygame键盘事件

    详解Python中Pygame键盘事件 简介 Pygame是Python中一个非常流行的多媒体库,其主要用途是通过Python创建视频游戏。然而,Pygame不仅可以用于视频游戏,还可以用于图像处理,声音处理等等。在这里,我们将详细讲解Pygame中的键盘事件。 Pygame中的键盘事件 在Pygame中,我们通过Pygame.event来监听各种事件。键盘…

    python 2023年6月3日
    00
  • python制作小说爬虫实录

    Python制作小说爬虫实录 前言 在互联网的信息化时代,越来越多的人选择读取网络上发布的小说来进行休闲和娱乐。而Python语言在爬虫技术方面表现出了很大的优势,因此我们可以利用Python语言来进行小说爬虫实现,让读者能够像在阅读小说网站一样去阅读自己指定的小说内容,从而让我们更加方便地获取小说内容进行阅读。 实现步骤 分析网站的HTML页面结构,提取需…

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