您的位置:首頁 >聚焦 >

盤點(diǎn)一個(gè)批量提取pdf文件目標(biāo)信息的實(shí)用案例 環(huán)球熱消息

2022-11-29 07:45:23    來源:程序員客棧
點(diǎn)擊上方“Python爬蟲與數(shù)據(jù)挖掘”,進(jìn)行關(guān)注

回復(fù)“書籍”即可獲贈(zèng)Python從入門到進(jìn)階共10本電子書


【資料圖】

你若盛開,清風(fēng)自來。

大家好,我是皮皮。

一、前言

前幾天在幫助粉絲解決問題的時(shí)候,遇到一個(gè)簡(jiǎn)單的小需求,需要批量提取pdf文件目標(biāo)信息,這里拿出來跟大家一起分享,后面再次遇到的時(shí)候,可以從這里得到靈感。

二、需求澄清

下面他下載的pdf文件,有幾百個(gè)文件,這里拿出部分做示例,每個(gè)pdf文件里邊有一個(gè)統(tǒng)一社會(huì)信用代碼,后面的數(shù)字和字符是他的目標(biāo)信息,需要提取出來。

三、實(shí)現(xiàn)過程

這里實(shí)現(xiàn)主要借用了pdf文件讀取庫和正則表達(dá)式來提取,先給出單個(gè)pdf文件提取的方法,代碼如下所示:

frompdfminerimporthigh_levelimportretext=high_level.extract_text("1.pdf")#提取pdf中的文本信息#print(text)regex=r"統(tǒng)一社會(huì)信用代碼:(.*?)\n"xinyongcode=re.findall(regex,text)print(xinyongcode)

有了前面的代碼打底之后,接下來就可以實(shí)現(xiàn)批量處理了,代碼如下所示:

frompdfminerimporthigh_levelfrompdfminer.layoutimportLTTextContainer#文本容器importreimportosforroot,dirs,filesinos.walk("./"):#root表示當(dāng)前正在訪問的文件夾路徑;dirs表示該文件夾下的子目錄名list;files表示該文件夾下的文件list#遍歷文件forfinfiles:file_name=os.path.join(root,f)iffile_name.endswith(".pdf"):text=high_level.extract_text(file_name)#提取pdf中的文本信息regex=r"統(tǒng)一社會(huì)信用代碼:(.*?)\n"xinyongcode=re.findall(regex,text)print(xinyongcode[0])

代碼運(yùn)行之后,可以依次得到所有文件攜帶的目標(biāo)信息,如下圖所示:

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

三、總結(jié)

大家好,我是皮皮。這篇文章主要盤點(diǎn)一個(gè)批量提取pdf文件目標(biāo)信息的實(shí)用案例,文中針對(duì)該問題,給出了具體的解析和代碼實(shí)現(xiàn),幫助粉絲順利解決了問題。

大家在學(xué)習(xí)過程中如果有遇到問題,歡迎隨時(shí)聯(lián)系我解決(我的微信:pdcfighting),應(yīng)粉絲要求,我創(chuàng)建了一些高質(zhì)量的Python付費(fèi)學(xué)習(xí)交流群和付費(fèi)接單群,歡迎大家加入我的Python學(xué)習(xí)交流群和接單群!

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

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

往期精彩文章推薦:

盤點(diǎn)一個(gè)網(wǎng)絡(luò)爬蟲POST請(qǐng)求參數(shù)構(gòu)造的問題

盤點(diǎn)一個(gè)Python基礎(chǔ)中循環(huán)判斷遇到一個(gè)小問題

重裝pycharm和Python環(huán)境以后,以前的文件selenium獲取不到元素了?

不使用內(nèi)置函數(shù)的情況下,如何使用Python實(shí)現(xiàn)求平均值、最大值和最小值?

歡迎大家點(diǎn)贊,留言,轉(zhuǎn)發(fā),轉(zhuǎn)載,感謝大家的相伴與支持

想加入Python學(xué)習(xí)群請(qǐng)?jiān)诤笈_(tái)回復(fù)【入群】

萬水千山總是情,點(diǎn)個(gè)【在看】行不行

/今日留言主題/

隨便說一兩句吧~~

關(guān)鍵詞: 學(xué)習(xí)交流 信用代碼 數(shù)據(jù)挖掘

相關(guān)閱讀