盤點一個批量提取pdf文件目標(biāo)信息的實用案例
回復(fù)“書籍”即可獲贈Python從入門到進(jìn)階共10本電子書
大家好,我是皮皮。
一、前言
前幾天在幫助粉絲解決問題的時候,遇到一個簡單的小需求,需要批量提取pdf文件目標(biāo)信息,這里拿出來跟大家一起分享,后面再次遇到的時候,可以從這里得到靈感。
二、需求澄清
下面他下載的pdf文件,有幾百個文件,這里拿出部分做示例,每個pdf文件里邊有一個統(tǒng)一社會信用代碼,后面的數(shù)字和字符是他的目標(biāo)信息,需要提取出來。

三、實現(xiàn)過程
這里實現(xiàn)主要借用了pdf文件讀取庫和正則表達(dá)式來提取,先給出單個pdf文件提取的方法,代碼如下所示:
from pdfminer import high_level
import re
text = high_level.extract_text('1.pdf') # 提取pdf中的文本信息
# print(text)
regex = r'統(tǒng)一社會信用代碼:(.*?)\n'
xinyongcode = re.findall(regex, text)
print(xinyongcode)
有了前面的代碼打底之后,接下來就可以實現(xiàn)批量處理了,代碼如下所示:
from pdfminer import high_level
from pdfminer.layout import LTTextContainer # 文本容器
import re
import os
for root, dirs, files in os.walk('./'):
# root 表示當(dāng)前正在訪問的文件夾路徑; 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'統(tǒng)一社會信用代碼:(.*?)\n'
xinyongcode = re.findall(regex, text)
print(xinyongcode[0])
代碼運行之后,可以依次得到所有文件攜帶的目標(biāo)信息,如下圖所示:

剩下的工作就不多贅述了,大家自行考慮即可。
三、總結(jié)
大家好,我是皮皮。這篇文章主要盤點一個批量提取pdf文件目標(biāo)信息的實用案例,文中針對該問題,給出了具體的解析和代碼實現(xiàn),幫助粉絲順利解決了問題。
大家在學(xué)習(xí)過程中如果有遇到問題,歡迎隨時聯(lián)系我解決(我的微信:pdcfighting),應(yīng)粉絲要求,我創(chuàng)建了一些高質(zhì)量的Python付費學(xué)習(xí)交流群和付費接單群,歡迎大家加入我的Python學(xué)習(xí)交流群和接單群!

小伙伴們,快快用實踐一下吧!如果在學(xué)習(xí)過程中,有遇到任何問題,歡迎加我好友,我拉你進(jìn)Python學(xué)習(xí)交流群共同探討學(xué)習(xí)。
------------------- End -------------------
往期精彩文章推薦:

歡迎大家點贊,留言,轉(zhuǎn)發(fā),轉(zhuǎn)載,感謝大家的相伴與支持
想加入Python學(xué)習(xí)群請在后臺回復(fù)【入群】
萬水千山總是情,點個【在看】行不行
/今日留言主題/
隨便說一兩句吧~~
