亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

9行Python3代碼實(shí)現(xiàn)批量提取PDF文件的指定內(nèi)容

 更新時(shí)間:2022年12月09日 08:39:11   作者:Carl_奕然  
這篇文章主要為大家詳細(xì)介紹了如何通過(guò)9行Python3代碼實(shí)現(xiàn)批量提取PDF文件的指定內(nèi)容,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以嘗試一下

1、引言

小絲:魚(yú)哥, 你有沒(méi)有什么辦法,提取PDF文檔的內(nèi)容。

小魚(yú):這個(gè)還問(wèn)我??

小絲:哎呀,這個(gè)不是被難住了嘛 。

小魚(yú):有啥難得?提示你一下,

小絲:嗯,可以可以。

小魚(yú):去我的博文找,沒(méi)記錯(cuò)的話,有兩種方法提取pdf的文字。

小絲:好嘞, 我這就去…找找…

小絲:魚(yú)哥,魚(yú)哥~

小魚(yú):怎么樣,你的這個(gè)需求,解決了吧。

小絲:沒(méi)呢,我想批量提取指定PDF文檔的內(nèi)容…

小魚(yú):批…量…

小絲:對(duì)啊,是批量,

小魚(yú):這…還挺…

小絲:挺費(fèi)勁嗎?

小魚(yú):挺好的 ,不費(fèi)勁, 一口氣,上7樓…

小絲:打住… 說(shuō)正事! !

小魚(yú):好嘞…

想到提取PDF文件的內(nèi)容,我們第一反應(yīng)就是pypdf,

因?yàn)閜ypdf這個(gè)庫(kù)我在很多篇文章都介紹過(guò), 還蠻好用的。

但是,今天,我們不使用pypdf,而是使用另一個(gè)庫(kù),即:pdfminer。

2、代碼實(shí)戰(zhàn)

2.1 介紹

pdfminer我相信很多同學(xué)都沒(méi)聽(tīng)說(shuō)過(guò),除非,你經(jīng)常提取/解析PDF文件的內(nèi)容,否則,你對(duì)ta,只能是陌生。

其實(shí),提取PDF文件內(nèi)容解決方案,截止到現(xiàn)在, 只有pypdf 和pdfminer這兩種。
所以, 如果你厭倦了, pypdf,那只能選擇pdfminer了。

那什么是pdfminer 呢,或者 pdfminer有什么神奇之處呢?

定義

PDFMiner是用于從PDF文檔提取信息的工具;

與其他PDF相關(guān)工具不同,它完全專注于獲取和分析文本數(shù)據(jù);

功能

PDFMiner允許獲取頁(yè)面中文本的確切位置以及其他信息,例如字體或線條;

它包括一個(gè)PDF轉(zhuǎn)換器,可以將PDF文件轉(zhuǎn)換為其他文本格式(例如HTML);

2.2 安裝

由于pdfminer是python 的第三方庫(kù), 所以,需要安裝,

老規(guī)矩, 直接pip 安裝

安裝

pip install pdfminer

安裝完成:

因?yàn)槲覀冃枰玫?pdfminer的high_level 方法,所以

這里必須要在安裝pdfminer.six模塊,否則會(huì)報(bào)錯(cuò):

安裝

pip install pdfminer.six

安裝完成:

其它安裝方式,直接看這兩篇:

《Python3,選擇Python自動(dòng)安裝第三方庫(kù),從此跟pip說(shuō)拜拜!!》

《Python3:我低調(diào)的只用一行代碼,就導(dǎo)入Python所有庫(kù)!》

2.3 實(shí)例

安裝完成,我們就來(lái)寫(xiě)上代碼,

我們先來(lái)捋順一下思路,主要分3步:

1、遍歷pdf文件

注:如果文件夾的文件多個(gè),需要單獨(dú)提取目標(biāo)pdf文件,否則都會(huì)輪巡匹配,費(fèi)事費(fèi)力費(fèi)資源;

2、提取pdf文檔內(nèi)容

3、根據(jù)正則匹配,提取需要的文檔信息

我們就根據(jù)這個(gè)思路,來(lái)提取"企業(yè)基本情況",代碼如下:

代碼示例

# -*- coding:utf-8 -*-
# @Time   : 2022-11-30
# @Author : Carl_DJ


from pdfminer import high_level
import re,os

#pdf文件路徑
#root:文件夾路徑,dirs:文件夾下子目錄名,files:文件夾下的文件
for root,dirs,files in os.walk('./data/'):
    #遍歷pdf文件
    for f in files:
        file_name = os.path.join(root,f)
        if file_name.endswith('.pdf'):
            #提取整個(gè) pdf 文本信息
            text = high_level.extract_text(file_name)
            #提取 pdf文檔中 "企業(yè)進(jìn)本情況:" 后面的信息,利用正則進(jìn)行匹配
            regex = r'企業(yè)基本情況-(.*?)\n'
            qy_base = re.findall(regex,text)
            print(f'輸出信息:{qy_base}')

pdf文件

運(yùn)行結(jié)果

3、總結(jié)

看到這里,今天的分享,差不多就該結(jié)束了。

解析PDF是一件非常耗時(shí)和耗內(nèi)存的工作,因此,pdfminer使用一種稱作Lazy Parsing的策略,減少內(nèi)耗…

小絲:怪不得, 提到批量提取pdf的文檔內(nèi)容, 你會(huì)猶豫了…

小魚(yú):對(duì)啊,因?yàn)槲覀兊牡臏y(cè)試文檔內(nèi)容很少,所以對(duì)內(nèi)存的消耗相對(duì)來(lái)說(shuō)沒(méi)那么驗(yàn)證,當(dāng)PDF文檔的內(nèi)容很多時(shí), 就不得不使用pdfminer了。

到此這篇關(guān)于9行Python3代碼實(shí)現(xiàn)批量提取PDF文件的指定內(nèi)容的文章就介紹到這了,更多相關(guān)Python提取PDF指定內(nèi)容內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python學(xué)習(xí)之time模塊的基本使用

    Python學(xué)習(xí)之time模塊的基本使用

    這篇文章主要給大家介紹了關(guān)于Python學(xué)習(xí)之time模塊基本使用的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • Python多版本開(kāi)發(fā)環(huán)境管理工具介紹

    Python多版本開(kāi)發(fā)環(huán)境管理工具介紹

    這篇文章主要介紹了Python多版本開(kāi)發(fā)環(huán)境管理工具介紹的相關(guān)資料,在Python開(kāi)發(fā)中,有些情況下,我們可能面臨在一臺(tái)機(jī)器上同時(shí)安裝多版本Python的需求,需要的朋友可以參考下
    2019-07-07
  • Python基礎(chǔ)語(yǔ)言學(xué)習(xí)筆記總結(jié)(精華)

    Python基礎(chǔ)語(yǔ)言學(xué)習(xí)筆記總結(jié)(精華)

    給大家分享一篇關(guān)于Python基礎(chǔ)學(xué)習(xí)內(nèi)容的學(xué)習(xí)筆記整理總結(jié)篇,里面匯集了學(xué)習(xí)Python基礎(chǔ)語(yǔ)言的難點(diǎn)和技巧,分享給大家。
    2017-11-11
  • Python匿名函數(shù)/排序函數(shù)/過(guò)濾函數(shù)/映射函數(shù)/遞歸/二分法

    Python匿名函數(shù)/排序函數(shù)/過(guò)濾函數(shù)/映射函數(shù)/遞歸/二分法

    這篇文章主要介紹了Python匿名函數(shù)/排序函數(shù)/過(guò)濾函數(shù)/映射函數(shù)/遞歸/二分法 ,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-06-06
  • Python?shapely庫(kù)的具體使用

    Python?shapely庫(kù)的具體使用

    本文主要介紹了Python?shapely庫(kù)的具體使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • 詳解python中的defaultdict?默認(rèn)值

    詳解python中的defaultdict?默認(rèn)值

    這篇文章主要介紹了defaultdict?默認(rèn)值,defaultdict是python內(nèi)建dict類的一個(gè)字類,功能與dict相同,但它帶有一個(gè)默認(rèn)的值,若key值不存在時(shí)返回一個(gè)默認(rèn)的值,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2023-04-04
  • 無(wú)需壓縮軟件,用python幫你操作壓縮包

    無(wú)需壓縮軟件,用python幫你操作壓縮包

    這篇文章主要介紹了如何用python幫你操作壓縮包,幫助大家更好的理解和學(xué)習(xí)python,感興趣的朋友可以了解下
    2020-08-08
  • 跟老齊學(xué)Python之開(kāi)始真正編程

    跟老齊學(xué)Python之開(kāi)始真正編程

    通過(guò)對(duì)四則運(yùn)算的學(xué)習(xí),已經(jīng)初步接觸了Python中內(nèi)容,但是到目前為止,還不能算編程,只能算會(huì)用一些指令(或者叫做命令)來(lái)做點(diǎn)簡(jiǎn)單的工作。列位稍安勿躁,下面我們就學(xué)習(xí)如何編寫(xiě)一個(gè)真正的程序。
    2014-09-09
  • opencv python 傅里葉變換的使用

    opencv python 傅里葉變換的使用

    這篇文章主要介紹了opencv python 傅里葉變換的使用,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-07-07
  • 說(shuō)說(shuō)如何遍歷Python列表的方法示例

    說(shuō)說(shuō)如何遍歷Python列表的方法示例

    這篇文章主要介紹了如何遍歷Python列表的方法示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-02-02

最新評(píng)論