盘点一个批量提取pdf文件目标信息的实用案例

news2025/1/16 18:48:02

点击上方“Python爬虫与数据挖掘”,进行关注

回复“书籍”即可获赠Python从入门到进阶共10本电子书

你若盛开,清风自来。

大家好,我是皮皮。

一、前言

前几天在帮助粉丝解决问题的时候,遇到一个简单的小需求,需要批量提取pdf文件目标信息,这里拿出来跟大家一起分享,后面再次遇到的时候,可以从这里得到灵感。

二、需求澄清

下面他下载的pdf文件,有几百个文件,这里拿出部分做示例,每个pdf文件里边有一个统一社会信用代码,后面的数字和字符是他的目标信息,需要提取出来。

398757d74fb6073f44f4d1ba994da83f.png

三、实现过程

这里实现主要借用了pdf文件读取库和正则表达式来提取,先给出单个pdf文件提取的方法,代码如下所示:

from pdfminer import high_level
import re

text = high_level.extract_text('1.pdf')  # 提取pdf中的文本信息
# print(text)
regex = r'统一社会信用代码:(.*?)\n'
xinyongcode = re.findall(regex, text)
print(xinyongcode)

有了前面的代码打底之后,接下来就可以实现批量处理了,代码如下所示:

from pdfminer import high_level
from pdfminer.layout import LTTextContainer  # 文本容器
import re
import os

for root, dirs, files in os.walk('./'):
    # root 表示当前正在访问的文件夹路径; dirs 表示该文件夹下的子目录名list;files 表示该文件夹下的文件list
    # 遍历文件
    for f in files:
        file_name = os.path.join(root, f)
        if file_name.endswith('.pdf'):
            text = high_level.extract_text(file_name)  # 提取pdf中的文本信息
            regex = r'统一社会信用代码:(.*?)\n'
            xinyongcode = re.findall(regex, text)
            print(xinyongcode[0])

代码运行之后,可以依次得到所有文件携带的目标信息,如下图所示:

833cc447b0bd824f97ef3253f2f0a122.png

剩下的工作就不多赘述了,大家自行考虑即可。

三、总结

大家好,我是皮皮。这篇文章主要盘点一个批量提取pdf文件目标信息的实用案例,文中针对该问题,给出了具体的解析和代码实现,帮助粉丝顺利解决了问题。

大家在学习过程中如果有遇到问题,欢迎随时联系我解决(我的微信:pdcfighting),应粉丝要求,我创建了一些高质量的Python付费学习交流群和付费接单群,欢迎大家加入我的Python学习交流群和接单群!

4d8e3bff5085fdd965bb77c7a125e81a.png

小伙伴们,快快用实践一下吧!如果在学习过程中,有遇到任何问题,欢迎加我好友,我拉你进Python学习交流群共同探讨学习。

1796dcbd65649a434e72c2f4daaa86d6.png

------------------- End -------------------

往期精彩文章推荐:

  • 盘点一个网络爬虫POST请求参数构造的问题

  • 盘点一个Python基础中循环判断遇到一个小问题

  • 重装pycharm和Python环境以后,以前的文件selenium获取不到元素了?

  • 不使用内置函数的情况下,如何使用Python实现求平均值、最大值和最小值?

234c703282a410ad1454b49ba4b49de7.png

欢迎大家点赞,留言,转发,转载,感谢大家的相伴与支持

想加入Python学习群请在后台回复【入群

万水千山总是情,点个【在看】行不行

/今日留言主题/

随便说一两句吧~~

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

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

相关文章

【零基础入门SpringMVC】第六期——尾声

一、注解配置SpringMVC 采用全注解开发,替代我们的web.xml和SpringMVC的核心配置文件 我们需要创建对应的配置类,继承AbstractAnnotationConfigDispatcherServletInitializer 使用的Servlet版本要求在3.0以上项目启动后容器会找到配置了,基于…

台积电跪舔美国,日本却醒悟了而选择独立发展芯片产业

近期台积电大举包机10架将精英人才和设备转往美国引发争议,然而这个时候日本却选择了独立发展芯片产业的道路,摆脱美国的限制,显然日本清醒地认识到依赖美国不会有好结果。台积电之前还在左右摇摆,希望既能继续获得美国芯片的订单…

测试用例的重要性,看完这篇就够了

测试用例对于测试工作的作用:1、指导测试的实施测试用例主要适用于集成测试、系统测试和回归测试。在实施测试时测试用例作为测试的标准,测试人员一定要按照测试用例严格按用例项目和测试步骤逐一实施测试。并对测试情况记录在测试用例管理软件中&#x…

干货 | 数字经济创新创业——如何发展绿色经济

下文整理自清华大学大数据能力提升项目能力提升模块课程“Innovation & Entrepreneurship for Digital Economy”(数字经济创新创业课程)的精彩内容。主讲嘉宾:Kris Singh: CEO at SRII, Palo Alto, CaliforniaVisiting Professor of Tsinghua Unive…

[附源码]计算机毕业设计springboot房屋租赁系统

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

【毕业设计】27-基于单片机的家庭监控及防盗报警_热释电报警_人体系统工程设计(原理图+源代码+仿真+实物照片+答辩论文)

【毕业设计】27-基于单片机的家庭监控及防盗报警/热释电报警/人体系统工程设计(原理图源代码仿真实物照片论文) 文章目录【毕业设计】27-基于单片机的家庭监控及防盗报警/热释电报警/人体系统工程设计(原理图源代码仿真实物照片论文&#xff…

【Java实战】工作中规范使用Java集合

目录 一、前言 二、规范使用Java集合 1.【强制】关于 hashCode 和 equals 的处理,遵循如下规则: 2.【强制】判断所有集合内部的元素是否为空,使用 isEmpty() 方法,而不是 size() 0 的方式。 3.【强制】在使用 java.util.str…

接口自动化测试实践指导(中):接口测试场景有哪些

在第一篇文章中详细给小伙伴们讲解了接口自动化需要做哪些准备工作,准备工作中最后一步接口测试用例设计是非常重要的一个环节,用例设计的好不好,直接关系到我们的测试质量。那如何进行测试用例设计呢?这里呢我结合自身经验&#…

PYTHON 用几何布朗运动模型和蒙特卡罗MONTE CARLO随机过程模拟股票价格可视化分析耐克NKE股价时间序列数据...

原文链接:http://tecdat.cn/?p27099 金融资产/证券已使用多种技术进行建模。该项目的主要目标是使用几何布朗运动模型和蒙特卡罗模拟来模拟股票价格。该模型基于受乘性噪声影响的随机(与确定性相反)变量(点击文末“阅读原文”获取…

【 医学影像| 数据预处理】

影像读取及预处理:预处理后的数据集建议保存在本地,可以减少训练时的部分资源消耗。里面提到了归一化的 对分割的一些理解:基于深度学习来做医学图像处理,主要的工作集中在了数据预处理部分:深入理解医学图像的格式和特…

GLAD:体全息

概述 自从伽伯1948年提出全息术后,光学全息术已经被广泛用于三维光学成像领域。体全息成像技术是采用体全息光栅作为成像元件对物体进行三维成像的技术。 1990年,由Barbastathis和Brady提出体全息成像技术,采用体全息光栅作为选择成像元件&#xf…

【微信小程序高频面试题——精选一】

微信小程序高频面试题小程序中如何进行接口请求?会不会跨域,为什么小程序的常用命令有哪些你认为微信小程序的优点是什么,缺点是什么微信小程序中的js和浏览器中的js以及node中的js的区别微信小程序中的数据渲染浏览器中有什么不同小程序中如…

全国所有地级市环境污染、企业、公路、固定资产、外商投资-最新面板数据

一、1990-2019年地级市面板数据 1、数据来源:中国城市统计年鉴、WIND数据库 2、时间跨度:2000-2019 3、区域范围:所有地级市 4、指标说明: 该份部分数据指标如下: 主营业务税金及附加(万元) 发明专利…

android-CHECK_xxx分析

android-CHECK_xxx 在android源码中有不少类似这样的用法,上图中就是检查获得的hal版本是否大于等于版本1_3,满足继续往下走,不满足则assert,并报错。 接下来就展开看看CHECK_xx家族: 用法 类型用法含义CHECK_EQ(val…

【SpringCloud】07 流量管理sentinel

sentinel Sentinel 是面向分布式服务架构的高可用流量防护组件,主要以流量为切入点,从限流、流量整形、熔断降级、系统负载保护、热点防护等多个维度来帮助开发者保障微服务的稳定性。 1. 微服务中的服务雪崩 服务雪崩效应是一种因“服务提供者的不可…

Springboot系列(二十二):如何纯文本转成.csv格式文件?|超级详细,建议收藏

一、前言🔥 不知道大家有咩有遇到这么个需求,给你一长串文本,要求你能导成excel格式展示数据,一时间我陷入了沉思,如果要常规转excel,最明显的一点就是固定表头名,然而并不是,这表头…

[附源码]计算机毕业设计springboot冬奥资讯系统

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

【DL with Pytorch】第 2 章 : 神经网络的构建块

🔎大家好,我是Sonhhxg_柒,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流🔎 📝个人主页-Sonhhxg_柒的博客_CSDN博客 📃 🎁欢迎各位→点赞…

第一个Shader Graph

上篇我们用ShaderLab来实现了第一个Shader,但对于初学者也太复杂了,那有没有简单的方式来实现shader的操作呢? 现在我们来分享下ShaderGraph,可视化编程,如图所示 ShaderGraph介绍 ShaderGraph是2018年推出的,可以看下官网出的例子https://github.com/UnityTechnologi…

[Linux] 进程程序替换之实现一个简单的shell

进程程序替换替换原理替换函数实现一个简单的shell主要过程实现代码替换原理 用fork创建子进程后执行的是和父进程相同的程序,若要执行不同的代码分支,子进程往往要调用一种exec函数以执行另一个程序;当进程调用一种exec函数时,该…