最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解Python如何利用pdfplumber提取PDF中的表格

 更新時間:2024年04月18日 10:32:28   作者:程序媛小本  
pdfplumber 是一個開源的 python 工具庫 ,它可以輕松的獲取 PDF 文本內(nèi)容、標題、表格、尺寸等各種信息,今天來介紹如何使用它來提取 PDF 中的表格,文中通過代碼和圖片講解的非常詳細,需要的朋友可以參考下

前言

pdfplumber 是一個開源的 python 工具庫 ,它可以輕松的獲取 PDF 文本內(nèi)容、標題、表格、尺寸等各種信息,今天來介紹如何使用它來提取 PDF 中的表格。

安裝

首先通過下面命令安裝 pdfplumber 模塊。

pip install pdfplumber

或是使用豆瓣鏡像源安裝。

pip install -i https://pypi.douban.com/simple pdfplumber

案例

這里有一份2020年中國大學生計算機設計大賽參賽作品獲獎名單,文件為 PDF 格式,每頁都包含表格,表格中包含為各支隊伍的獲獎信息,共158頁。表格前兩頁內(nèi)容如下。

下面將 PDF 中的表格提取出來,并保存到 Excel 中。

首先導入所需要的模塊:

import pdfplumber
import pandas as pd

讀取 PDF 文件

read_path = '2020年中國大學生計算機設計大賽參賽作品獲獎名單.pdf'
pdf_2020 = pdfplumber.open(read_path)

pages 屬性包含 PDF 中每頁的信息,循環(huán)每頁內(nèi)容,使用 extract_table() 方法提取每頁中的表格數(shù)據(jù),并將數(shù)據(jù)轉(zhuǎn)為 DataFrame,最后合并每頁的數(shù)據(jù)。

result_df = pd.DataFrame()
for page in pdf_2020.pages:
    table = page.extract_table()
    df_detail = pd.DataFrame(table[1:], columns=table[0])
    # 合并每頁的數(shù)據(jù)集
    result_df = pd.concat([df_detail, result_df], ignore_index=True)

此時DataFrame中數(shù)據(jù)如下:

可以看到通過 extract_table() 提取后的數(shù)據(jù)有許多包含缺失值的列,我們還需要對DataFrame進行進一步處理,刪除全為缺失值的列。

result_df.dropna(axis=1, how='all', inplace=True)

刪了缺失值后,列名也一并刪除了,還需要指定對應列名。

result_df.columns = ['獎項', '作品編號', '作品名稱', '參賽學校', '作者', '指導老師']

到現(xiàn)在我們就成功將表格信息完整的提取出來了!

完整代碼

import pdfplumber
import pandas as pd

def read_pdf(read_path, save_path):
    pdf_2020 = pdfplumber.open(read_path)
    result_df = pd.DataFrame()
    for page in pdf_2020.pages:
        table = page.extract_table()
        print(table)
        df_detail = pd.DataFrame(table[1:], columns=table[0])
        result_df = pd.concat([df_detail, result_df], ignore_index=True)
    result_df.dropna(axis=1, how='all', inplace=True)
    result_df.columns = ['獎項', '作品編號', '作品名稱', '參賽學校', '作者', '指導老師']
    result_df.to_excel(excel_writer=save_path, index=False, encoding='utf-8')

read_path = r'2020年中國大學生計算機設計大賽參賽作品獲獎名單.pdf'
save_path = r'2020年中國大學生計算機設計大賽參賽作品獲獎名單.xlsx'
read_pdf(read_path, save_path)

到此這篇關(guān)于詳解Python如何利用pdfplumber提取PDF中的表格的文章就介紹到這了,更多相關(guān)Python pdfplumber提取PDF表格內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python如何將圖片生成視頻MP4

    python如何將圖片生成視頻MP4

    這篇文章主要介紹了python如何將圖片生成視頻MP4問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • python?list與numpy數(shù)組效率對比

    python?list與numpy數(shù)組效率對比

    這篇文章主要介紹了python?list與numpy數(shù)組效率對比分析,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • python如何安裝下載后的模塊

    python如何安裝下載后的模塊

    在本篇文章里小編給大家整理了關(guān)于python安裝下載后的模塊的方法,需要的朋友們可以學習下。
    2020-07-07
  • Tensorflow 實現(xiàn)線性回歸模型的示例代碼

    Tensorflow 實現(xiàn)線性回歸模型的示例代碼

    這篇文章主要介紹了Tensorflow 實現(xiàn)線性回歸模型,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-05-05
  • 用Python寫腳本,實現(xiàn)完全備份和增量備份的示例

    用Python寫腳本,實現(xiàn)完全備份和增量備份的示例

    下面小編就為大家分享一篇用Python寫腳本,實現(xiàn)完全備份和增量備份的示例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04
  • python求前n個階乘的和實例

    python求前n個階乘的和實例

    這篇文章主要介紹了python求前n個階乘的和實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • 詳解python中executemany和序列的使用方法

    詳解python中executemany和序列的使用方法

    這篇文章主要介紹了詳解python中executemany和序列的使用方法的相關(guān)資料,需要的朋友可以參考下
    2017-08-08
  • Python中正則表達式的用法實例匯總

    Python中正則表達式的用法實例匯總

    這篇文章主要介紹了Python中正則表達式的用法實例匯總,非常實用,需要的朋友可以參考下
    2014-08-08
  • 基于Python編寫簡易的成語接龍游戲

    基于Python編寫簡易的成語接龍游戲

    成語接龍是中華民族傳統(tǒng)的文字游戲。它歷史悠久,是傳統(tǒng)文字、文化、文明的一個縮影,也是老少皆宜的民間文化娛樂活動。本文將用Python制作一個簡單的成語接龍游戲,需要的可以參考一下
    2022-03-03
  • python生成word合同的實例方法

    python生成word合同的實例方法

    在本篇內(nèi)容里小編給大家分享的是一篇關(guān)于python生成word合同的實例方法相關(guān)內(nèi)容,有需要的朋友們可以學習下。
    2021-01-01

最新評論

金秀| 三台县| 华安县| 夹江县| 临桂县| 奇台县| 达孜县| 乐陵市| 杭锦后旗| 天峻县| 靖远县| 同心县| 惠州市| 平潭县| 黔南| 琼海市| 香港| 清河县| 乐都县| 怀集县| 玉龙| 开原市| 普宁市| 德格县| 山阳县| 文成县| 丰城市| 海南省| 怀集县| 湘乡市| 淳化县| 犍为县| 武鸣县| 平顶山市| 大港区| 微博| 托克逊县| 辽中县| 长治市| 宾川县| 梅州市|