批量提取pdf内的特定数据

批量提取pdf内的特定数据

需求介绍

实习的时候需要提取大量pdf内的日期,本身只是一个劳动力较大的工作,但是不想浪费太多时间,所以写了个程序直接呈现出来,节约时间。

需要注意的是,pdf文件需要是由word转过来的,或者至少是可以复制黏贴的,不是图片,如果是图片的话会比较麻烦,但是暂时不需要。

pdf内容提取

代码

from io import StringIO		# 用于像文件一样对字符串缓冲区或者叫做内存文件进行读写
import  os		# 各种 Python 程序与操作系统进行交互的接口
import re		# 正则表达式(挨千刀的正则表达式)
from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter
from pdfminer.converter import TextConverter
from pdfminer.layout import LAParams
from pdfminer.pdfpage import PDFPage


def convert_pdf_2_text(path):	# pdf内容提取并返回全部文本
    rsrcmgr = PDFResourceManager()
    retstr = StringIO()

    device = TextConverter(rsrcmgr, retstr,  laparams=LAParams())
    interpreter = PDFPageInterpreter(rsrcmgr, device)

    with open(path, 'rb') as fp:
        for page in PDFPage.get_pages(fp, set()):
            interpreter.process_page(page)
        text = retstr.getvalue()

    device.close()
    retstr.close()

    return text

filepath1 = "******" 	# 文件路径,此处是文件夹路径
list = []			# 用于存储文件夹内所有文件名的列表
for i,j,a in os.walk(filepath1):
    list.append(a)
num = len(a) - 1

for i in range(num) :
    result = ""
    path = filepath1 + a[i]
    lp = convert_pdf_2_text(path)
    test_text = re.findall(".....+/2021",lp)		# 正则表达式编写
    result = a[i] +" "+ result + "\n".join(test_text)
    print(result)

最终成果

![image-20220826170112336](C:\Users\yishu.shi\AppData\Roaming\Typora\typora-user-images![]

总结

你还是不得不承认会写代码,尤其是python代码给这种重复性较高的任务带来的便利,至少我这个实习期间被python救了很多次,希望寒假的美赛拿python建模也能这么方便。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
数据测试 ⼤数据测试 什么是⼤数据 什么是⼤数据数据是指⽆法在⼀定时间范围内⽤传统的计算机技术进⾏处理的海量数据集。 对于⼤数据的测试则需要不同的⼯具、技术、框架来进⾏处理。 ⼤数据的体量⼤、多样化和⾼速处理所涉及的数据⽣成、存储、检索和分析使得⼤数据⼯程师需要掌握极其⾼的技术功底。 需要你学习掌握更多的⼤数据技术、Hadoop、Mapreduce等等技术。 ⼤数据测试策略 ⼤数据测试策略 ⼤数据应⽤程序的测试更多的是去验证其数据处理⽽不是验证其单⼀的功能特⾊。 当然在⼤数据测试时,功能测试和性能测试是同样很关键的。 对于⼤数据测试⼯程师⽽⾔,如何⾼效正确的验证经过⼤数据⼯具/框架成功处理过的⾄少百万兆字节的数据将会是⼀个巨⼤的挑战。 因为⼤数据⾼效的处理测试速度,它要求测软件⼯程师具备⾼⽔平的测试技术才能应对⼤数据测试。 我们来看下⼤数据处理的三个特性: ⼤批量 实时性 可交互 另外,数据质量也同样是⼤数据测试的⼀个重要维度。 因此在进⾏应⽤程序测试之前,必须确保数据质量,并且考虑把数据质量作为数据库测试的⼀部分。涉及数据的各种特性的检验,例如⼀致性、准确性、重复 性、连贯性、有效性及完整性等等。 ⼤数据应⽤测试步骤 ⼤数据应⽤测试步骤 下⾯我们⼀起看看⼤数据应⽤的测试过程是怎么样的。 整体⽽⾔,⼤数据测试⼤体可以分为三⼤步骤: 步骤⼀,数据预处理验证 在进⾏⼤数据测试时,⾸先要预hadoop前验证数据的准确性等等。 1. 我们数据来源可能是关系数据库、⽇志系统、社交⽹络等等,所以我们应该确保数据能正确的加载到系统中 2. 我们要验证加载的数据和源数据是⼀致的 3. 我们要确保正确的提取和加载数据⾄hdfs中 步骤⼆,Map Reduce验证 在进⾏⼤数据测试时,第⼆个关键步骤是"Map Reduce"验证。在本阶段,我们主要验证每⼀个处理节点的业务逻辑是否正确, 并验证在多个运⾏后,确保: 1. Map Reduce过程⼯作正常 2. 数据聚合、分离规则已经实现 3. 数据key-value关系已正确⽣成 4. 验证经过map reduce后数据的准确性等特性 步骤三,结果验证 在本阶段主要验证在经过⼤数据⼯具/框架处理后,⽣成的最终数据的成果。 主要验证: 1. 验证数据转换规则是否正确应⽤ 2. 验证数据的完整性和是否成功持久化到⽬标系统 3. 验证⽆数据损坏 架构测试 架构测试 Hadoop处理海量数据是⾮常的消耗资源的,良好的架构是确保⼤数据项⽬成功的基础。糟糕的涉及会导致性能急剧的下降,进⽽使得系统⽆法满⾜我们的需 要,因此我们需要,或是说⾄少在Hadoop环境下进⾏性能测试、故障恢复测试,以应改进效率和应对可能的最糟糕的情况。 性能测试是⼀个复杂的⼯作,它贯穿整个测试周期,需要关注内存、CPU、⽹络等等指标。 故障恢复测试则是验证数据处理过程中可能出现的故障,为做好意外的恢复做好相应的应对措施。 性能测试 性能测试 ⼤数据性能测试主要包含以下⼏个部分: 数据提取、存储效率 在本阶段,我们主要验证⼤数据应⽤从源数据提取、加载数据的效率。 ⼀是验证单位时间内数据提取、加 载效率。 ⼆是验证数据持久化⾄mongodb等库的效率等等 数据处理 在本阶段,我们验证map reduce任务的执⾏效率,重点关注的是数据处理的效率。当然这个过程可能也会涉及到数据的持久化相关指标,例如存储⾄HDFS读 写效率等等,同样也会涉及在内存中处理效率,即我们的处理算法效率等等 ⼦组件性能 ⼤数据处理,⼀般都会需要综合利⽤各种组件来辅助处理,所以我们也是需要关注这些辅助组件的性能 性能测试策略 性能测试策略 ⼤数据应⽤性能测试涉及海量的结构化和⾮结构化的数据,与我们平时所⾯对的业务系统有所不同,所以我们需要针对⼤数据应⽤制定特定的测试策略,以应对 海量的数据。 根据上图性能测试执⾏过程⼀般是这样的: 1. 在性能测试前需要先初始化⼤数据集群环境 2. 梳理和设计⼤数据性能测试场景 3. 准备⼤数据性能测试脚本 4. 执⾏并分析测试结果(如果指标异常,则调优相应的组件并重新测试) 5. 优化配置 性能测试基础准备 性能测试基础准备 在⼤数据性能测试时,需要准备相关的基础⼯作,如下: 数据准备,我们需要在不同的节点准备什么量级数据? ⽇志预估,在测试过程中,可能会⽣成多⼤的⽇志,⽇志的可能增量是什么样的? 并发,在测试时,可能会有多少线程并发读和写? 超时设置,应对设置怎样的连接超时?查询超时?写超时等等? JVM参数,如何设置最优的jvm参数,heap size、GC机制等等 Map Reduce,我们应该选择什么样的sort、merge等算法? 消息队列,消息队列长度会怎么样?等等 必备的测试环境 必备的测试环境 ⼤数据测试不同
万兴PDF编辑器是一个非常容易使用的PDF编辑工具。在万兴PDF编辑器的帮助下,您可以添加、删除、剪切、复制、粘贴、编辑、编辑图片和许多其他操作到现有的PDF文档中。您还可以从各种格式的文档中创建PDF,如word、excel、ppt、图片、txt等。不仅如此,您还可以将PDF转换成可编辑的文档格式,并且还可以将各种文档合并成一个PDF文档。该软件功能非常全面,也非常容易使用。 软件截图: 软件功能: PDF文件编辑。打开PDF文档并打开PDF编辑模式,以修改PDF文档的文本并更改字体、字号和颜色。编辑图像和其他对象,随意拖动或移动要编辑的对象,自由添加和调整图像的大小,选择图像的位置,剪辑图像,多图片对齐等。 PDF格式转换。它支持将一个或多个PDF文件转换成各种其他格式的文件。转换后的文件质量很高,包括Powerpoint、Word、Excel、HTML、JPEG、TXT、RTF等格式。 PDF图片转文字。通过光学字符识别(也称为OCR识别),图像或打印文本可以转换为机器可读文本,识别精度高于同行。 PDF文件签名。对于所有需要签名的文档,数字签名比纸质签名更方便,可以有效保护文档安全。 PDF文档数据提取。在处理电子发票等格式相同的电子单据时,只要选择要提取的区域,所有单据中的区域数据都可以批量导出。 软件特色: 创建一个可填写的PDF表格 只需单击一下,任何在Word、Excel或其他Office应用程序中生成的现有平面表单都可以转换为可填充的可编辑PDFPDF格式转换 拖放鼠标,将PDF格式转换为PPT、Word、Excel、HTML、JPEG、PNG和其他格式。可以批量处理500多份文件。 文档注释和注释 在您想要的任何地方添加注释和文本框。用高亮、叉号和下划线标记文档以供审阅。 文档拆分和提取 将一个多页的PDF文档分成几个较小的文件,或者从文档中提取一个指定的页面来生成一个单独的PDF文档。 添加贝茨代码 为文档添加可定制的贝茨数字,以便于索引和检索。 表单自动识别数据提取 智能表单自动化技术可以在几秒钟内将数百个相同表单的PDF表单数据提取到一个可编辑的Excel表单中。 添加水印、背景、页眉和页脚 轻松添加和删除文本和图片水印、背景、页眉和页脚,允许您完全自定义创建的PDF文件。 密码和密文保护 使用高度机密的256位AES加密密码保护PDF文件,并设置锁定特定功能,如查看、打印、编辑、填充和旋转。
Smallpdf转换器软件是一款PDF文件相关处理的软件,pdf转换、源恢复、合并、分割、解密、提取。该6.6版本的smallpdf主要对功能进一步进行了优化,增大了pdf转换成其他格式后的文件完整性,省掉了体验度不佳的电子书转换。 Smallpdf转换器软件特点 1.简单易用:引导式操作,只需要4步,完成pdf处理; 2.信息安全:文件在本地电脑处理,不存在泄露风险; 3.转换高效:转换引擎已成为PDF极快的引擎之一; 4.限制更少:全面支持源电子pdf格式的文件恢复。 Smallpdf转换器软件软件操作 1.smallpdf转换器软件中的【PDF转换成其他文件】的【PDF转word】功能模块。 2.将smallpdf转换器软件的【添加文件】点开,选择需要转换成word的文件,并将其打开。可以进行批量选择,多份文件同时处理。 3.选择smallpdf转换器软件【输出目录】的【自定义】,选择一个特定的文件夹存放转换后的word文件,确认存放位置无误,就点击确定。  4.点击smallpdf转换器软件的【开始转换】或者启动小图标,系统将自动高速将pdf转成word文件。转换的过程实时可以暂停或查看进度。每份pdf需要转换的页码内容也是可以选择的,比如输入:5-10页,则PDF转换器只转换5-10页的内容。 5.点击smallpdf转换器软件的【输出】或者【打开】,即可跳转至转换后文件所保存的文件夹。可清晰看到转换后的pdf文件。 Small pdf转换器 v6.6 更新日志 新增了极速处理内核调整,转换效率高并且稳定; 界面风格调整,整体呈现清爽干净的布局。 Small pdf转换器截图

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值