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

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

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

前言

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

安裝

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

pip install pdfplumber

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

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

案例

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

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

首先導(dǎo)入所需要的模塊:

import pdfplumber
import pandas as pd

讀取 PDF 文件

read_path = '2020年中國大學(xué)生計(jì)算機(jī)設(shè)計(jì)大賽參賽作品獲獎(jiǎng)名單.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)

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

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

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

刪了缺失值后,列名也一并刪除了,還需要指定對(duì)應(yīng)列名。

result_df.columns = ['獎(jiǎng)項(xiàng)', '作品編號(hào)', '作品名稱', '參賽學(xué)校', '作者', '指導(dǎo)老師']

到現(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 = ['獎(jiǎng)項(xiàng)', '作品編號(hào)', '作品名稱', '參賽學(xué)校', '作者', '指導(dǎo)老師']
    result_df.to_excel(excel_writer=save_path, index=False, encoding='utf-8')

read_path = r'2020年中國大學(xué)生計(jì)算機(jī)設(shè)計(jì)大賽參賽作品獲獎(jiǎng)名單.pdf'
save_path = r'2020年中國大學(xué)生計(jì)算機(jī)設(shè)計(jì)大賽參賽作品獲獎(jiǎng)名單.xlsx'
read_pdf(read_path, save_path)

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

相關(guān)文章

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

    python如何將圖片生成視頻MP4

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

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

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

    python如何安裝下載后的模塊

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

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

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

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

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

    python求前n個(gè)階乘的和實(shí)例

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

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

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

    Python中正則表達(dá)式的用法實(shí)例匯總

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

    基于Python編寫簡(jiǎn)易的成語接龍游戲

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

    python生成word合同的實(shí)例方法

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

最新評(píng)論

阿城市| 满洲里市| 昌吉市| 余江县| 乌拉特前旗| 什邡市| 砚山县| 杨浦区| 大邑县| 游戏| 图片| 通州区| 五寨县| 邻水| 额尔古纳市| 巴东县| 淳化县| 洪泽县| 灵寿县| 缙云县| 中超| 阜阳市| 无锡市| 五原县| 山阳县| 洛宁县| 武夷山市| 盐津县| 原阳县| 同德县| 涿州市| 台南市| 高邑县| 名山县| 开原市| 柳江县| 旌德县| 林西县| 广州市| 岐山县| 贵德县|