同一个文件夹中保存了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数据表相关推荐

  1. 如何用Python批量提取PDF文本内容?

    本文为你展示,如何用Python把许多PDF文件的文本内容批量提取出来,并且整理存储到数据框中,以便于后续的数据分析. 问题 最近,读者们在后台的留言,愈发五花八门了. 写了几篇关于自然语言处理的文章 ...

  2. python怎么读取pdf为文本_轻松用Python批量提取PDF文本内容,这个小技巧告诉你!...

    轻松用Python批量提取PDF文本内容,这个小技巧告诉你!-1.jpg (22.73 KB, 下载次数: 0) 2018-9-7 08:33 上传 本文为你展示,如何用Python把许多PDF文件的 ...

  3. python 如何批量提取文件中的字符_如何用Python批量提取PDF文本内容?

    本文为你展示,如何用Python把许多PDF文件的文本内容批量提取出来,并且整理存储到数据框中,以便于后续的数据分析. 问题 最近,读者们在后台的留言,愈发五花八门了. 写了几篇关于自然语言处理的文章 ...

  4. python提取pdf文件内容_如何用Python批量提取PDF文本内容?

    本文为你展示,如何用Python把许多PDF文件的文本内容批量提取出来,并且整理存储到数据框中,以便于后续的数据分析. 问题 最近,读者们在后台的留言,愈发五花八门了. 写了几篇关于自然语言处理的文章 ...

  5. Python 使用pdfplumber直接提取PDF文本内容

    前提:提取文本内容的文件必须是应用服务生成PDF文件,而非扫描的pdf文档,当前pdfplumber的版本为0.5.28 第一步:在服务应用的终端中使用下述命令安装pdfplumber包 poetry ...

  6. 如何批量提取 PDF 文档内容,将 PDF 格式文档转为 Txt 文本格式

    概要:PDF 文档常常用来阅读.预览或者存档一些资料,PDF 支持的内容也是比较丰富的.可以支持图片.文本等多种类型的元素.那有时候我们就需要将一些纯文本的 PDF 文档中的文字提取出来,转为一个 T ...

  7. Python3,9行批量提取PDF文件的指定内容,这种操作,保证人见人爱....

    批量提取PDF文件指定内容 1.引言 2.代码实战 2.1 介绍 2.2 安装 2.3 实例 3.总结 1.引言 小屌丝:鱼哥, 你有没有什么办法,提取PDF文档的内容. 小鱼:这个还问我?? 小屌丝 ...

  8. python批量提取pdf的数据_Python批量提取PDF文件中文本的脚本

    本文实例为大家分享了Python批量提取PDF文件中文本的具体代码,供大家参考,具体内容如下 首先需要执行命令pip install pdfminer3k来安装处理PDF文件的扩展库. import ...

  9. 通过Python的pdfplumber库提取pdf中表格数据

    文章目录 前言 一.pdfplumber库是什么? 二.安装pdfplumber库 三.查看pdfplumber库版本 四.提取pdf中表格数据 1.引入库 2.定义pdf文件路径 3.打开pdf文件 ...

最新文章

  1. 最初的梦想,将来的你一定会感谢现在努力的自己
  2. Maven的配置文件pom.xml
  3. 置信区间估计 预测区间估计_估计,预测和预测
  4. Oracle创建视图实现获取当前数据所在的页数,这里以每页2条数据分页
  5. LINUX中使用fdisk对SD卡磁盘进行格式化并重新分区
  6. android 6.0 点亮屏幕,android6.0 otg连接设备 点亮屏幕(案例)
  7. c#重载和重写及运用
  8. SAP License:SAP IDES 4.71的安装补充
  9. shell中 if条件的格式要求
  10. C语言冒泡排序法及代码
  11. Python-Curses模块
  12. 基于ssm柴犬主题咖啡厅系统
  13. Java poi 导出Excel并合并单元格 史上最强
  14. 华为运营商级路由器配置示例 | 配置OptionB方式跨域BGP VPLS示例(ASBR兼做PE)
  15. Smart-Link
  16. 高层次综合综述:FPGA HLS Today Successes, Challenges, and Opportunities
  17. 【养生】【作息】作息+十二时辰养生
  18. 前端安全跨站脚本攻击
  19. 项目经营,不仅仅停留在嘴上:政企项目,要做好项目交付,但又不能仅仅止步于“项目交付”
  20. Javascript vue 数组中的对象分离 获取对象属性名称 对象属性值

热门文章

  1. C# NutShell 第二十三章 任务并行
  2. 面向对象高级编程(上)-- 第一周学习笔记(Boolan)
  3. 企微网易互客SCRM与企鲸客scrm的功能有什么差别
  4. 四步练就地道英语发音
  5. 《暗黑破坏神3》蓝贴:游戏引擎的来源
  6. Vue中组件到底是什么
  7. win7系统要停止服务器,win7系统中可关闭的服务选项,可关闭服务选项大全
  8. python中wx模块介绍_python wx模块如何安装
  9. 星外php 5.3,星外php自动安装程序下载
  10. 【架构分析】DALI 源码分析