首页 > 其他分享 >批量提取pdf内的特定数据

批量提取pdf内的特定数据

时间:2022-08-26 17:11:22浏览次数:72  
标签:提取 批量 text retstr result import pdf path

批量提取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建模也能这么方便。

标签:提取,批量,text,retstr,result,import,pdf,path
From: https://www.cnblogs.com/tlott/p/16628203.html

相关文章

  • 批量重置SAP用户的初始密码
    系统设定初始密码的有效期是3天,项目组担心用户不能及时重置密码导致密码过期,要求重置所有项目参与人员的初始密码。简单点说,就是帮用户重置初始密码,用初始密码登录系统,系......
  • List<Map>中直接批量修改map中的内容,不循环处理
    item1List.stream().map(x->{x.put("recordType","default__c");x.put("detailId",x.get("vbeln")+"-"+x.get("posnr"));try{Stringvfdatstr=(St......
  • 学习笔记270—Excel如何快速批量将中文名字转换为拼音?
    Excel如何快速批量将中文名字转换为拼音?在excel表格中,我们可以通过内置的功能来进行拼音的编辑,但无法直接批量地转换中文为拼音。当然,这里是跳过了vba的用法,因为vba要求......
  • 数据结构与算法分析--C语言描述 pdf
    高清扫描版下载链接:https://pan.baidu.com/s/1BGsOOAOqXE9j509OFtkjXA点击这里获取提取码书中详细介绍了当前流行的论题和新的变化,讨论了算法设计技巧,并在研究算法的性能......
  • 网络是怎样连接的 pdf
    高清扫描版下载链接:https://pan.baidu.com/s/1OiVBwYKoRi2uJ4-mYf69mw点击这里获取提取码本书以探索之旅的形式,从在浏览器中输入网址开始,一路追踪了到显示出网页内容为止......
  • 图解tcpip(第5版) pdf
    高清扫描版下载链接:https://pan.baidu.com/s/16Owjujj9v7AHYp408FHgKg点击这里获取提取码这是一本图文并茂的网络管理技术书籍,旨在让广大读者理解TCP/IP的基本知识、掌握......
  • 数据结构与算法分析 Java版 pdf
    高清扫描版下载链接:https://pan.baidu.com/s/1vDsOy1E0kHizahB6hIg2tA点击这里获取提取码本书以Java语言为基础,讨论了数据结构的线性结构和非线性结构及其实现,全书以Java......
  • linux系统配置文件或shell脚本批量注释
    1.配置文件批量注释1.1批量注释①进入命令行模式,按ctrl+v进入visualblock模式,键盘上下箭头选中多行,把需要注释的行标记起来②按大写字母I,再输入注释符:#③双......
  • 《零起点Python机器学习快速入门》PDF高清版下载
    《零起点Python机器学习快速入门》PDF高清版下载地址  内容简介  · · · · · ·《零起点Python机器学习快速入门》采用独创的黑箱模式,MBA案例教学机......
  • 【22最新可用】喜马拉雅专辑批量下载工具(专辑下载工具含VIP音频)
    喜马拉雅专辑批量下载工具是一款功能非常好用的专辑下载工具,有了这款工具,大家只需要输入专辑地址即可解析出所有的作品,并且支持一键全部或部分下载专辑中的所有内容,下载到......