pdfplumber批量提取PDF重点内容并保存到csv数据表
同一个文件夹中保存了1000多份PDF文档,需要从每份PDF文档中提取关键的信息,将每一条信息存入csv表格作为一个单元格内容,同一份PDF文档中的多条信息生成一行数据,保存为1000多行固定格式的数据。
解决思路:
1、利用pdfplumber模块来实现对PDF文件中的文字和表格进行提取,将提取出来的内容写入一份csv表格中,每一份PDF文件生成一行数据。
2、PDF文件中的文字使用正值表达式进行筛选。
3、PDF文件中的表格直接提取表格内容,再分列填充为csv表格的新列。
4、设置好csv表格的表头信息,每份PDF文件关键信息生成一个列表,将列表写入csv表格的行。
5、遍历PDF文档所在文件夹中的每一个PDF,按上述方法提取信息。
难点:
1、每份PDF文档虽然目录相同,但是内容存在差异,总页数不相等。无法直接指定提取内容在第几页。
2、每份PDF文档中存在多份表格,而且同一表头的表格在不同PDF文档中的行数不尽相同,有的行数多有的行数少,导致页数不一致。有的表格跨页。
3、避免中间报错导致生成的数据尚未保存,所以采取逐条数据写入csv表格,即使中间报错也不必重新开始、节省时间。
使用的库如下:
import pdfplumber
import re
import os
import numpy as np
import sys
import csv
import time,datetime
读取所有PDF文件名称,设置csv表格表头:
path1="D:\PDF文件" #定义PDF数据存放的文件夹
path2="D:\PDF文件输出" #定义解析数据存放的文件夹
tempfilename = "PDF报告"
name_list=os.listdir(path1) #用os库获取该文件夹下的PDF文件名称
#print(name_list)X = '解析结果'
def create_csv(X,csv_head):path = str(path2+"\\"+tempfilename+"(%s).csv" % (X))#同目录下的新文件名 with open(path,'w',newline = '',encoding='utf-8_sig') as f:csv_write = csv.writer(f) csv_write.writerow(csv_head)csv_head = ["公司名称","数据日期","发货日期","数量",'商品名称1','商品1解释','商品名称2','商品2解释','商品名称3','商品3解释',\"发货状态","统一代码","批号","日期","金额(万元)","实收(万元)",'收货人','住所']#表头
create_csv(X,csv_head)def write_csv(X,data_row):path = str(path2+"\\"+tempfilename+"(%s).csv" % (X))# with open(path,mode='a',newline = '',encoding='utf-8_sig') as f:csv_write = csv.writer(f) csv_write.writerow(data_row)
pdfplumber批量提取PDF重点内容并保存到csv数据表相关推荐
- 如何用Python批量提取PDF文本内容?
本文为你展示,如何用Python把许多PDF文件的文本内容批量提取出来,并且整理存储到数据框中,以便于后续的数据分析. 问题 最近,读者们在后台的留言,愈发五花八门了. 写了几篇关于自然语言处理的文章 ...
- python怎么读取pdf为文本_轻松用Python批量提取PDF文本内容,这个小技巧告诉你!...
轻松用Python批量提取PDF文本内容,这个小技巧告诉你!-1.jpg (22.73 KB, 下载次数: 0) 2018-9-7 08:33 上传 本文为你展示,如何用Python把许多PDF文件的 ...
- python 如何批量提取文件中的字符_如何用Python批量提取PDF文本内容?
本文为你展示,如何用Python把许多PDF文件的文本内容批量提取出来,并且整理存储到数据框中,以便于后续的数据分析. 问题 最近,读者们在后台的留言,愈发五花八门了. 写了几篇关于自然语言处理的文章 ...
- python提取pdf文件内容_如何用Python批量提取PDF文本内容?
本文为你展示,如何用Python把许多PDF文件的文本内容批量提取出来,并且整理存储到数据框中,以便于后续的数据分析. 问题 最近,读者们在后台的留言,愈发五花八门了. 写了几篇关于自然语言处理的文章 ...
- Python 使用pdfplumber直接提取PDF文本内容
前提:提取文本内容的文件必须是应用服务生成PDF文件,而非扫描的pdf文档,当前pdfplumber的版本为0.5.28 第一步:在服务应用的终端中使用下述命令安装pdfplumber包 poetry ...
- 如何批量提取 PDF 文档内容,将 PDF 格式文档转为 Txt 文本格式
概要:PDF 文档常常用来阅读.预览或者存档一些资料,PDF 支持的内容也是比较丰富的.可以支持图片.文本等多种类型的元素.那有时候我们就需要将一些纯文本的 PDF 文档中的文字提取出来,转为一个 T ...
- Python3,9行批量提取PDF文件的指定内容,这种操作,保证人见人爱....
批量提取PDF文件指定内容 1.引言 2.代码实战 2.1 介绍 2.2 安装 2.3 实例 3.总结 1.引言 小屌丝:鱼哥, 你有没有什么办法,提取PDF文档的内容. 小鱼:这个还问我?? 小屌丝 ...
- python批量提取pdf的数据_Python批量提取PDF文件中文本的脚本
本文实例为大家分享了Python批量提取PDF文件中文本的具体代码,供大家参考,具体内容如下 首先需要执行命令pip install pdfminer3k来安装处理PDF文件的扩展库. import ...
- 通过Python的pdfplumber库提取pdf中表格数据
文章目录 前言 一.pdfplumber库是什么? 二.安装pdfplumber库 三.查看pdfplumber库版本 四.提取pdf中表格数据 1.引入库 2.定义pdf文件路径 3.打开pdf文件 ...
最新文章
- 最初的梦想,将来的你一定会感谢现在努力的自己
- Maven的配置文件pom.xml
- 置信区间估计 预测区间估计_估计,预测和预测
- Oracle创建视图实现获取当前数据所在的页数,这里以每页2条数据分页
- LINUX中使用fdisk对SD卡磁盘进行格式化并重新分区
- android 6.0 点亮屏幕,android6.0 otg连接设备 点亮屏幕(案例)
- c#重载和重写及运用
- SAP License:SAP IDES 4.71的安装补充
- shell中 if条件的格式要求
- C语言冒泡排序法及代码
- Python-Curses模块
- 基于ssm柴犬主题咖啡厅系统
- Java poi 导出Excel并合并单元格 史上最强
- 华为运营商级路由器配置示例 | 配置OptionB方式跨域BGP VPLS示例(ASBR兼做PE)
- Smart-Link
- 高层次综合综述:FPGA HLS Today Successes, Challenges, and Opportunities
- 【养生】【作息】作息+十二时辰养生
- 前端安全跨站脚本攻击
- 项目经营,不仅仅停留在嘴上:政企项目,要做好项目交付,但又不能仅仅止步于“项目交付”
- Javascript vue 数组中的对象分离 获取对象属性名称 对象属性值