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

基于Python快速處理PDF表格數(shù)據(jù)

 更新時(shí)間:2020年06月03日 11:10:07   作者:其實(shí)還好啦  
這篇文章主要介紹了基于Python快速處理PDF表格數(shù)據(jù),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

我們有下面一張PDF格式存儲(chǔ)的表格,現(xiàn)在需要使用Python將它提取出來(lái)。

使用Python提取表格數(shù)據(jù)需要使用pdfplumber模塊,打開(kāi)CMD,安裝代碼如下:

pip install pdfplumber

安裝完之后,將需要使用的模塊導(dǎo)入

import pdfplumberimport pandas as pd

然后打開(kāi)PDF文件

# 使用with語(yǔ)句打開(kāi)pdf文件
with pdfplumber.open("D:\\python\\cai\\yq.pdf") as pdf:
  # pages[0]表示取第1頁(yè)
  page = pdf.pages[0]

我們來(lái)打印輸出下獲取到的文本,這句語(yǔ)句只是幫我們驗(yàn)證下是否成功獲取到PDF里的內(nèi)容

print(page.extract_text())

執(zhí)行的結(jié)果如下,看來(lái)是成功了

然后可以使用extract_table()函數(shù)獲取表格,如果有多個(gè)表格,可以使用extract_tables()函數(shù),就是多了個(gè)s

d1=page.extract_table()

執(zhí)行代碼后,將得到一個(gè)列表,還不是數(shù)據(jù)框

所以最后一步就是將列表轉(zhuǎn)為數(shù)據(jù)框就可以了,代碼如下:

df = pd.DataFrame(d1[1:], columns=d1[0])

執(zhí)行代碼后,將得到了df數(shù)據(jù)框

有幾個(gè)注意事項(xiàng)要提醒下:

1.pdf表格中的數(shù)據(jù),對(duì)于同一個(gè)數(shù)據(jù)或內(nèi)容,不要有換行,如果換行,可能被識(shí)別為2個(gè)數(shù)據(jù);

2.pdf中的表格一定要有邊框,沒(méi)有邊框的話(huà),否則使用extract_table()函數(shù)就無(wú)法獲取表格數(shù)據(jù),extract_text()還是可以獲取文本信息的,不要問(wèn)我是怎么知道的,說(shuō)多了都是淚。

我們現(xiàn)在有一份PDF數(shù)據(jù),里面有三頁(yè),每頁(yè)都有一樣數(shù)據(jù)結(jié)構(gòu)但數(shù)據(jù)不同的數(shù)據(jù)表,現(xiàn)在需要使用Python將它批量提取出來(lái)。

有了上回經(jīng)驗(yàn),我們就直接上代碼:

import pdfplumber
import pandas as pd
 
# 創(chuàng)建一個(gè)空數(shù)據(jù)框
df = pd.DataFrame()
 
# 使用with語(yǔ)句打開(kāi)pdf文件
with pdfplumber.open("D:\\python\\cai\\5.pdf") as pdf:
  # 使用for循環(huán)遍歷每個(gè)pages
  for page in pdf.pages:
    # 取出當(dāng)前頁(yè)表格,結(jié)果為列表
    d=page.extract_table()
    # 將列表轉(zhuǎn)為數(shù)據(jù)框
    df1 = pd.DataFrame(d[1:], columns=d[0]) 
    #添加至df數(shù)據(jù)框中
    df = df.append(df1)

執(zhí)行代碼后,將得到了df數(shù)據(jù)框

是不是so easy 呢?

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

竹溪县| 昂仁县| 玛纳斯县| 苍山县| 哈巴河县| 新乐市| 富阳市| 资源县| 仪陇县| 上蔡县| 克什克腾旗| 山阳县| 宜君县| 道真| 肇东市| 宜兴市| 绥德县| 寿宁县| 舒兰市| 东安县| 庆阳市| 枣阳市| 六盘水市| 龙江县| 新晃| 茶陵县| 贵阳市| 南皮县| 绥化市| 郯城县| 横峰县| 广南县| 桑日县| 出国| 绥滨县| 永康市| 武穴市| 临武县| 松潘县| 灵山县| 烟台市|