当前位置 : 主页 > 编程语言 > python >

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

来源:互联网 收集:自由互联 发布时间:2023-02-04
大家好,我是皮皮。 一、前言 前几天在帮助粉丝解决问题的时候,遇到一个简单的小需求,需要批量提取​​pdf​​文件目标信息,这里拿出来跟大家一起分享,后面再次遇到的时候

大家好,我是皮皮。

一、前言

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

二、需求澄清

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

# yyds干货盘点 # 盘点一个批量提取pdf文件目标信息的实用案例_遍历文件

三、实现过程

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

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

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

from pdfminer import high_levelfrom pdfminer.layout import LTTextContainer # 文本容器import reimport osfor 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])

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

# yyds干货盘点 # 盘点一个批量提取pdf文件目标信息的实用案例_正则表达式_02

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

三、总结

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

上一篇:python自动化办公初探之桌牌制作
下一篇:没有了
网友评论