本文主要是介绍Python 提取PDF表格数据并保存到TXT文本或Excel文件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
目录
安装Python库
Python提取PDF表格数据并保存到文本文档
Python提取PDF表格数据并保存到Excel文档
PDF文件常用于存储和共享各种类型的文档,这些文档可能包括大量的数据表格。通过提取这些PDF表格数据,我们可以将其导入到Excel、数据库或统计软件等数据分析工具中,从而开展深入的数据分析并生成报告。与手动输入大量数据相比,采用编程方式提取表格数据能够帮助我们避免出错并节省大量时间。这篇文章将介绍如何使用Python提取PDF表格的数据,主要包括以下内容:
要提取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
提取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))
除了将提取的数据保存到文本文件外,你还可以通过Spire.XLS for Python提供的Worksheet.Range[rowIndex, columnIndex].Value属性将它们写入到Excel文档。关键步骤如下:
使用PdfTableExtractor.ExtractTable(pageIndex)方法从PDF页面中提取表格。这一步能够快速定位和获取PDF文档中的表格。需要注意的是,Spire.PDF for Python通过表格的边框来识别表格,因此要确保你的PDF文档中的表格是有边框的。
对于获取的每个表格,使用PdfTable.GetText(rowIndex, columnIndex)方法来读取表格单元格中的文本数据。这样可以将表格中的内容逐一提取出来。
使用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表格数据,并将读取的数据保存到TXT文本文件和Excel表格。除了TXT文本和Excel格式以外,你可以自行将获取的数据写入到其他格式,如CSV、Word表格等。如需了解Spire.PDF for Python和Spire.XLS for Python的更多功能,请自行查看Spire.PDF for Python文档和Spire.XLS for Python文档。
这篇关于Python 提取PDF表格数据并保存到TXT文本或Excel文件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!
http://www.chinasem.cn/article/992574。
23002807@qq.com
玻璃钢生产厂家白城玻璃钢雕塑工程景观玻璃钢雕塑平台费用多少浙江通道商场美陈怎么样广州玻璃钢花盆销售公司上城玻璃钢雕塑厂家贵州园林景观玻璃钢美陈雕塑新疆玻璃钢仿真雕塑浦口商场新年美陈信誉好的玻璃钢人像雕塑新密玻璃钢浮雕大型园林雕塑天水动物玻璃钢雕塑定做上海荷花玻璃钢花盆上海玻璃钢卡通牛雕塑厂家武威城市玻璃钢雕塑制作南京户内玻璃钢雕塑销售厂家玻璃钢仿雕塑价格澳门树脂玻璃钢雕塑广东个性化玻璃钢雕塑设计达州市玻璃钢雕塑定制抽象玻璃钢彩绘雕塑生产厂家人物玻璃钢动物雕塑制作安阳景观玻璃钢人物雕塑四川常用商场美陈价钱静安区玻璃钢雕塑厂家价格低的景观玻璃钢雕塑黄山人物卡通玻璃钢雕塑贵州水果玻璃钢雕塑设计山东装饰商场美陈报价商场楼顶美陈创意玻璃钢仿铜雕塑小品香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万