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

如何利用Python提取pdf中的表格數(shù)據(jù)(附實(shí)戰(zhàn)案例)

 更新時(shí)間:2022年11月10日 09:09:16   作者:艾派森  
從PDF表格中獲取數(shù)據(jù)是一項(xiàng)痛苦的工作,下面這篇文章主要給大家介紹了關(guān)于如何利用Python提取pdf中的表格數(shù)據(jù)的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下

前言

今天給大家介紹一個(gè)Python使用工具,那就是從pdf文件中讀取表格數(shù)據(jù),主要用到第三方庫 pdfplumber。

pdfplumber簡介

pdfplumber是一款基于pdfminer,完全由python開發(fā)的pdf文檔解析庫,不僅可以獲取每個(gè)字符、矩形框、線等對象的具體信息,而且還可以抽取文本和表格。目前pdfplumber僅支持可編輯的pdf文檔。

雖然pdfminer也可以對可編輯的pdf文檔進(jìn)行解析,但是比較而言,pdfplumber有以下優(yōu)勢:

  1. 二者都可以獲取到每個(gè)字符、矩形框、線等對象的具體信息,但是pdfplumber在pdfminer的基礎(chǔ)上進(jìn)行了封裝和處理,使得到的對象更易于使用,對用戶更友好。
  2. 二者都能對文本解析,但是pdfminer輸出的文本在布局上可能與原文差別比較大,但是pdfplumber抽取出的文本與原文可以有更高的一致性。
  3. pdfplumber實(shí)現(xiàn)了表格抽取邏輯,基于最基本的字符、線框等對象的位置信息,定位、識別pdf文檔中的表格。

 首先安裝

pip install pdfplumber

實(shí)戰(zhàn)案例

本次實(shí)戰(zhàn),我們需要將pdf中的獲獎(jiǎng)隊(duì)伍信息提取出來,然后保存到excel表格中。

?原始pdf文件中大多數(shù)都是如上圖所示的表格,這里為了不泄露個(gè)人隱私,我就先打上碼了哈。

接著開始敲代碼提取表格數(shù)據(jù)!

import pandas as pd
import pdfplumber
 
pdf = pdfplumber.open("第十屆“正大杯”國獎(jiǎng)名單.pdf")
df = pd.DataFrame()
for i in range(3,53):  # 這里3是指表格信息是從第4頁開始的(程序計(jì)數(shù)是從0開始,所以這里第4頁對應(yīng)程序中的3),53是結(jié)束位置
    page = pdf.pages[i]  # 讀取pdf中的每一頁
    table = page.extract_table()  # 從頁數(shù)據(jù)中提取表格數(shù)據(jù)
    df = df.append(table)  # 將提取的數(shù)據(jù)轉(zhuǎn)換為DataFrame二維表格形式
df.drop_duplicates(inplace=True)   # 刪除重復(fù)值
df.to_excel("第十屆“正大杯”國獎(jiǎng)名單.xlsx", header=False, index=False)  # 將提取的數(shù)據(jù)保存為excel

這里,我先是用了循環(huán)來提取多頁,3是指表格信息是從第4頁開始的(程序計(jì)數(shù)是從0開始,所以這里第4頁對應(yīng)程序中的3),53是結(jié)束位置 。

 運(yùn)行之后的結(jié)果如下:

?很簡單就將pdf中的表格提取出來了。

做到這里,我只是將一個(gè)pdf中的數(shù)據(jù)提取出來了,可是還有幾個(gè)類似的pdf需要提取,于是我將上述代碼功能進(jìn)行了簡單的封裝(功能還比較簡陋,各位可根據(jù)自己的需要進(jìn)行擴(kuò)展)。

def pdf_to_excel(file_path,start:int,end:int,excel_name=None):
    '''
    params:
        file_path:需要提取表格的pdf文件的絕對路徑
        start:出現(xiàn)表格的起始頁碼
        end:表格結(jié)束頁碼
        excel_name:最后保存excel文件的文件名(默認(rèn)為原始pdf文件名)
    '''
    pdf = pdfplumber.open(file_path)
    if not excel_name:
        excel_name = file_path.split('\\')[-1].split('.')[0]
    df_result = pd.DataFrame()
    for i in range(start-1,end):
        page = pdf.pages[i]
        table = page.extract_table()
        df_result = df_result.append(table)
    df_result = df_result.drop_duplicates(inplace=True)
    df_result.to_excel(excel_name+'.xlsx',index=False)
 
pdf_to_excel(file_path=r'C:xxx.pdf',start=4,end=53)

以上就是本次分享的python小工具,希望對有同樣需求的你有所幫助!

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

相關(guān)文章

  • python與idea的集成的實(shí)現(xiàn)

    python與idea的集成的實(shí)現(xiàn)

    這篇文章主要介紹了 python與idea的集成的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • Python如何計(jì)算語句執(zhí)行時(shí)間

    Python如何計(jì)算語句執(zhí)行時(shí)間

    這篇文章主要介紹了Python如何計(jì)算語句執(zhí)行時(shí)間,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-11-11
  • 基于Python創(chuàng)建語音識別控制系統(tǒng)

    基于Python創(chuàng)建語音識別控制系統(tǒng)

    這篇文章主要介紹了通過Python實(shí)現(xiàn)創(chuàng)建語音識別控制系統(tǒng),能利用語音識別識別說出來的文字,根據(jù)文字的內(nèi)容來控制圖形移動(dòng),感興趣的同學(xué)可以關(guān)注一下
    2021-12-12
  • Python中的迭代器漫談

    Python中的迭代器漫談

    這篇文章主要介紹了Python中的迭代器漫談,本文主要講解range函數(shù)和xrange函數(shù)性能區(qū)別,需要的朋友可以參考下
    2015-02-02
  • python多線程之事件Event的使用詳解

    python多線程之事件Event的使用詳解

    本篇文章主要介紹了python多線程之事件Event的使用詳解,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-04-04
  • Python2.x與Python3.x的區(qū)別

    Python2.x與Python3.x的區(qū)別

    這篇文章主要介紹了Python2.x與Python3.x的區(qū)別的相關(guān)資料,需要的朋友可以參考下
    2016-01-01
  • 簡潔的十分鐘Python入門教程

    簡潔的十分鐘Python入門教程

    這篇文章主要介紹了簡潔的十分鐘Python入門教程,Python語言本身的簡潔也使得網(wǎng)絡(luò)上各種Python快門入門教程有著很高的人氣,本文是國內(nèi)此類其中的一篇,需要的朋友可以參考下
    2015-04-04
  • Python中的推導(dǎo)式使用詳解

    Python中的推導(dǎo)式使用詳解

    這篇文章主要介紹了Python中的推導(dǎo)式使用詳解,本文分別講解了列表推導(dǎo)式、字典推導(dǎo)式、集合推導(dǎo)式使用實(shí)例,需要的朋友可以參考下
    2015-06-06
  • python 爬取小說并下載的示例

    python 爬取小說并下載的示例

    這篇文章主要介紹了python 爬取小說并下載的示例,幫助大家更好的理解和學(xué)習(xí)python爬蟲,感興趣的朋友可以了解下
    2020-12-12
  • Python中如何處理常見報(bào)錯(cuò)

    Python中如何處理常見報(bào)錯(cuò)

    大家好,本篇文章主要講的是Python中如何處理常見報(bào)錯(cuò),感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下
    2022-01-01

最新評論

河津市| 精河县| 镇江市| 盈江县| 长乐市| 乌兰县| 灵台县| 上栗县| 郴州市| 桃江县| 嘉峪关市| 南安市| 德格县| 礼泉县| 温泉县| 类乌齐县| 旬阳县| 阜平县| 方正县| 太原市| 阳信县| 仙桃市| 盐山县| 唐山市| 平塘县| 方正县| 桃园县| 南江县| 武隆县| 松江区| 唐山市| 呈贡县| 阳谷县| 灵宝市| 定远县| 万安县| 丰镇市| 环江| 房产| 吉木萨尔县| 滨海县|