Python 提取PDF表格数据并保存到TXT文本或Excel文件

目录

安装Python库

Python提取PDF表格数据并保存到文本文档

Python提取PDF表格数据并保存到Excel文档


PDF文件常用于存储和共享各种类型的文档,这些文档可能包括大量的数据表格。通过提取这些PDF表格数据,我们可以将其导入到Excel、数据库或统计软件等数据分析工具中,从而开展深入的数据分析并生成报告。与手动输入大量数据相比,采用编程方式提取表格数据能够帮助我们避免出错并节省大量时间。这篇文章将介绍如何使用Python提取PDF表格的数据,主要包括以下内容:

  • Python提取PDF表格数据并保存到TXT文本文档
  • Python提取PDF表格数据并保存到Excel文档

安装Python库

要提取PDF表格数据并保存到文本文档和Excel文档,可以使用Spire.PDF for Python和Spire.XLS for Python库。Spire.PDF for Python主要用于提取PDF表格数据,Spire.XLS for Python主要用于将提取的表格数据写入Excel文档。

你可以通过以下pip命令来安装它们:

pip install Spire.Xls
pip install Spire.Pdf

Python提取PDF表格数据并保存到文本文档

提取PDF文档中的表格数据主要包括以下三个关键步骤:

  • 检索表格

使用PdfTableExtractor.ExtractTable(pageIndex)方法从PDF页面中提取表格。这一步能够快速定位和获取PDF文档中的表格。需要注意的是,Spire.PDF for Python通过表格的边框来识别表格,因此要确保你的PDF文档中的表格是有边框的。

  • 读取数据

对于获取的每个表格,使用PdfTable.GetText(rowIndex, columnIndex)方法来读取表格单元格中的文本数据。这样可以将表格中的内容逐一提取出来。

  • 保存数据

将提取的表格数据写入到文本文件中。

代码如下:

from spire.pdf.common import *
from spire.pdf import *# 创建PdfDocument对象
doc = PdfDocument()
# 加载PDF文件
doc.LoadFromFile("表格1.pdf")# 创建一个用于存储表格数据的列表
builder = []# 创建一个PdfTableExtractor对象
extractor = PdfTableExtractor(doc)# 循环遍历页面
for pageIndex in range(doc.Pages.Count):# 从当前页面中提取表格tableList = extractor.ExtractTable(pageIndex)# 判断表格列表是否为空if tableList is not None and len(tableList) > 0:# 循环遍历表格for table in tableList:# 获取当前表格的行数和列数row = table.GetRowCount()column = table.GetColumnCount()# 循环遍历行和列for i in range(row):for j in range(column):# 获取当前单元格中的文本text = table.GetText(i, j)# 将文本添加到列表中builder.append(text + " ")builder.append("\n")builder.append("\n")# 将列表中的内容写入到文本文件中
with open("表格.txt", "w", encoding="utf-8") as file:file.write("".join(builder))

Python 读取PDF表格数据并保存到TXT文本文件

Python提取PDF表格数据并保存到Excel文档

除了将提取的数据保存到文本文件外,你还可以通过Spire.XLS for Python提供的Worksheet.Range[rowIndex, columnIndex].Value属性将它们写入到Excel文档。关键步骤如下:

  • 检索表格

使用PdfTableExtractor.ExtractTable(pageIndex)方法从PDF页面中提取表格。这一步能够快速定位和获取PDF文档中的表格。需要注意的是,Spire.PDF for Python通过表格的边框来识别表格,因此要确保你的PDF文档中的表格是有边框的。

  • 读取数据

对于获取的每个表格,使用PdfTable.GetText(rowIndex, columnIndex)方法来读取表格单元格中的文本数据。这样可以将表格中的内容逐一提取出来。

  • 写入数据到Excel工作表

使用Worksheet.Range[rowIndex, columnIndex].Value属性将将提取的表格数据写入到Excel工作表中。

具体代码如下:

from spire.pdf import *
from spire.xls import *# 创建PdfDocument对象
doc = PdfDocument()# 加载PDF文件
doc.LoadFromFile("表格1.pdf")# 创建Workbook对象
workbook = Workbook()
# 清除默认工作表
workbook.Worksheets.Clear()# 创建PdfTableExtractor对象
extractor = PdfTableExtractor(doc)sheetNumber = 1# 循环遍历页面
for pageIndex in range(doc.Pages.Count):# 从当前页面提取表格tableList = extractor.ExtractTable(pageIndex)# 判断表格列表是否为空if tableList is not None and len(tableList) > 0:# 循环遍历表格for table in tableList:# 为当前表格添加一个工作表sheet = workbook.Worksheets.Add(f"Sheet{sheetNumber}")# 获取表格的行数和列数row = table.GetRowCount()column = table.GetColumnCount()# 循环遍历行和列for i in range(row):for j in range(column):# 获取当前单元格中的文本text = table.GetText(i, j)# 将文本写入工作表的指定单元格sheet.Range[i + 1, j + 1].Value = textsheetNumber += 1# 保存到文件
workbook.SaveToFile("提取PDF表格数据到Excel.xlsx", ExcelVersion.Version2013)

Python 读取PDF表格数据并保存到Excel表格

本文介绍了如何使用Python读取PDF表格数据,并将读取的数据保存到TXT文本文件和Excel表格。除了TXT文本和Excel格式以外,你可以自行将获取的数据写入到其他格式,如CSV、Word表格等。如需了解Spire.PDF for Python和Spire.XLS for Python的更多功能,请自行查看Spire.PDF for Python文档和Spire.XLS for Python文档。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/12769.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

技术架构

一、单机架构 简介:应用服务和数据库服务共用一台服务器 出现原因:出现在互联网早期,访问量比较小,单机足以满足 架构工作原理:以电商为例,可以看到通过应用(划分了多个模块)和数据库在单个服…

视频智能检测AI智能分析网关V4告警消息推送:公众号消息推送的配置步骤介绍

TSINGSEE青犀智能分析网关V4属于高性能、低功耗的软硬一体AI边缘计算硬件设备,目前拥有3种型号(8路/16路/32路),支持Caffe/DarkNet/TensorFlow/PyTorch/MXNet/ONNX/PaddlePaddle等主流深度学习框架。硬件内部署了近40种AI算法模型…

继承,多态,封装以及对象的打印

前言: 我们都知道Java是一种面向对象的编程语言,面向对象语言的三大特性就是继承,多态,封装,而这些特性正好的Java基础的一个主体内容。在学到这之前,我们肯定已经学习过了类和对象,所以这部分…

光学镜片镀膜上下料设备

在现代化工业生产的浪潮中,智能化、自动化已成为提升生产效率、降低成本的关键所在。特别是在精密制造领域,对于设备的高精度、高效率要求更是严苛。今天向大家推荐一款引领行业潮流的智能设备——富唯智能镀膜上下料设备。 产品介绍 实现功能 单面镀膜…

NGINX SPRING HTTPS证书

服务器:xxx.xxx.xxx.56 客户端器:xxx.xxx.xxx.94##生成服务器证书和密钥容器 keytool -genkey -alias tas-server -keypass 250250 -keyalg RSA -keysize 2048 -validity 3650 -keystore D:\https证书\tas-server.jks -storepass 250250 -dname "C…

低成本创业分享,一个不用自己囤货、进货、直播的项目|抖音小店

大家好,我是喷火龙 在抖音上面开店,不仅可以卖自己的商品,还可以卖别人的商品赚差价, 并且不需要你囤货、进货、直播、剪视频,也不需要有粉丝。 这个项目就是抖音小店无货源。 很多朋友对抖音小店无货源模式的玩法…

tensorrtx-yolov5-v6.0部署在windows系统

前言:最近几天一直在搞这个东西,现在跑通了,为了以后自己看和帮助他人,就记录一下。虽然是跑通了但是觉得怪怪的,感觉不是自己想要的效果,另外这个只能检测图片,不能摄像头实时监测(我暂时没找到…

springsecurity项目快速搭建

自定义security的搭建 package com.sangeng.config;import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.CorsRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;Co…

智能文档处理:解析文档场景下多模态大模型的应用与研究前沿

解析文档场景下多模态大模型的应用与研究前沿 一、TextIn 文档解析技术1. 现有大模型文档解析问题2. 文档解析技术背景3. TextIn 文档解析技术架构4. 版面分析关键技术 Layout-engine 二、TextIn 文本向量化技术三、TextIn.com Text Intelligence 一、TextIn 文档解析技术 hell…

【driver6】debugfs,性能优化,

文章目录 1.内核调试手段:debugfs.h中api建立目录/sys/kernel/debug2.性能优化:裸磁盘无法使用,一般都刷文件系统。驱动加上要考虑磁盘io,内存占用,cpu使用情况3.Valgrind内存泄漏排查案例:4.cpu瓶颈&#…

英语学习笔记10——Look at ...

Look at … 看…… 词汇 Vocabulary fat adj. 胖的,丰富的 n. 脂肪 例句:他是个胖男孩。    He is a fat boy. 搭配:fat cat 有钱人,土豪 woman n. 女人 girl n. 女孩 madam n. 女士 man n. 男人 boy n. 男孩 sir n. 先生 …

云飞云共享云桌面如何降低电脑投入成本?

云飞云共享云桌面作为一种创新的云计算解决方案,以其独特的优势在业界赢得了众多认可。其中,它极大地降低了电脑投入成本,为企业和个人用户带来了实实在在的经济效益。那么,云飞云共享云桌面是如何实现这一点的呢? 设…

Python 机器学习 基础 之 监督学习/分类问题/回归任务/泛化、过拟合和欠拟合 基础概念说明

Python 机器学习 基础 之 监督学习/分类问题/回归任务/泛化、过拟合和欠拟合 基础概念说明 目录 Python 机器学习 基础 之 监督学习/分类问题/回归任务/泛化、过拟合和欠拟合 基础概念说明 一、简单介绍 二、监督学习 三、分类问题 四、回归任务 五、泛化、过拟合和欠拟合…

全面提升数据采集效率:IP代理产品的应用与评估详解

全面提升数据采集效率:IP代理产品的应用与评估详解 文章目录 全面提升数据采集效率:IP代理产品的应用与评估详解背景应用场景:平台首页信息抓取准备评测素材详细的产品使用和评测流程产品介绍亮数据的IP代理服务亮数据的爬虫工具及采集技术 注…

2024网上可申请离婚,无需对方同意!

🎃很多客户决定离婚之后却因为不了解离婚流程没准备好所需材料,导致离婚失败,或者无故被对方e意拖延,无计可施,无可奈何! 🎃别怕,2024年离婚新规定已发布,离婚变的简单了…

OpenAI新模型GPT-4o“炸裂登场” 响应速度堪比真人 关键还免费!

GPT-4o模型基于来自互联网的大量数据进行训练,更擅长处理文本和音频,并且支持50种语言。更值得一提的是,GPT-4o最快可以在232毫秒的时间内响应音频输入,几乎达到了人类的响应水平。 GPT-4o有多“炸裂”?核心能力有三 G…

点量云流3D应用线上展厅云推流方案分享

展厅是企业对外展示宣传的窗口,不论企业还是政fu单位、博物馆、科技馆,展厅都可以给用户一个更直观的感受。而随着技术的发展,展厅展示的内容也从最初的图文、视频,扩展更多文件类型,比如PPT\PDF文件以及3D应用数字孪生…

【文末附gpt升级方案】腾讯混元文生图大模型开源:中文原生Sora同款DiT架构引领新潮流

在人工智能与计算机视觉技术迅猛发展的今天,腾讯再次引领行业潮流,宣布其旗下的混元文生图大模型全面升级并对外开源。这次开源的模型不仅具备强大的文生图能力,更采用了业内首个中文原生的Sora同款DiT架构,为中文世界的视觉生成领…

uniapp使用地图开发app, renderjs使用方法及注意事项

上次提到uniapp开发地图app时得一些问题,最后提到使用renderjs实现app中使用任何地图(下面将以腾讯地图为例,uniapp中写app时推荐使用得是高德地图,无法使用腾讯地图(renderjs方式除外))。 1、…

泰盈科技IPO终止:客户集中度高,业绩未达目标,高管薪酬较高

近日,上海证券交易所披露的信息显示,泰盈科技集团股份有限公司(下称“泰盈科技”)及其保荐人中金公司撤回上市申请文件。因此,上海证券交易所决定终止对该公司首次公开发行股票并在主板上市的审核。 据贝多财经了解&am…