日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

Python讀取pdf表格寫入excel的方法

瀏覽:34日期:2022-06-29 13:18:40
背景

今天突然想到之前被要求做同性質(zhì)銀行的數(shù)據(jù)分析。媽耶!十幾個(gè)銀行,每個(gè)銀行近5年的財(cái)務(wù)數(shù)據(jù),而且財(cái)務(wù)報(bào)表一般都是 pdf 的,我們將 pdf 中表的數(shù)據(jù)一個(gè)個(gè)的拷貝到 excel 中,再借助 excel 去進(jìn)行求和求平均等聚合函數(shù)操作,完事了還得把求出來的結(jié)果再統(tǒng)一 CV 到另一張表中,進(jìn)行可視化分析…

當(dāng)然,那時(shí)風(fēng)流倜儻的 老Amy 還熟練的玩轉(zhuǎn)著 excel ,也是個(gè)秀兒~ 今天就思索著,如果當(dāng)年我會 Python 是不是可以讓我成為班級最靚的崽!用技術(shù)占領(lǐng)高地,HHH,所以今天我來了,希望可以幫助大家解決同性質(zhì)的問題。

開始學(xué)習(xí)叭避免CV大法

pdf 文件的表格的數(shù)據(jù)可以復(fù)制,但是這是一項(xiàng)非常繁瑣的事情。所以我首先考慮的是,Python 可否幫助我們高效且規(guī)范地讀取 pdf 中的表格數(shù)據(jù)。所以一頓的檢索,發(fā)現(xiàn)了一個(gè)比較優(yōu)質(zhì)處理 pdf 的庫:pdfplumber,當(dāng)然這個(gè)庫需要大家 pip install pdfplumber 去進(jìn)行安裝。以及詳細(xì)使用可參考全球最大基友社區(qū):https://github.com/jsvine/pdfplumber

步驟: 導(dǎo)入 pdfplumber 庫 通過 pdfplumber.open() 函數(shù) 獲取 mt2018.pdf 文件對象 通過該 對象.pages 獲取 pdf 每頁的對象,截取我們需要的頁對象即可 通過 頁對象.extract_tables() 獲取表格數(shù)據(jù)(若需要獲取文本:頁對象.extract_text())

代碼實(shí)現(xiàn):

import pdfplumber# 獲取 pdf 文件對象pdf_mt = pdfplumber.open('mt2018.pdf')# 因?yàn)槲倚枰@取的資產(chǎn)負(fù)債表在 51-53頁 但是索引從0開始 所以切片取 50-52即可for pdf_pg in pdf_mt.pages[50:53]: # 只提取當(dāng)前頁表格數(shù)據(jù) print(pdf_pg.extract_tables()) --------------------------------------------------------------------------結(jié)果比較多,截取一部分:[[[’項(xiàng)目’, ’附注’, ’期末余額’, ’期初余額’], [’流動資產(chǎn):’, ’’, ’’, ’’], [’貨幣資金’, ’1’, ’112,074,791,420.06’, ’87,868,869,913.34’], [’結(jié)算備付金’, ’’, ’’, ’’], [’拆出資金’, ’’, ’’, ’’], [’以公允價(jià)值計(jì)量且其變動計(jì)入當(dāng)n期損益的金融資產(chǎn)’, ’’, ’’, ’’], [’衍生金融資產(chǎn)’, ’’, ’’, ’’], [’應(yīng)收票據(jù)及應(yīng)收賬款’, ’2’, ’563,739,710.00’, ’1,221,706,039.00’]]]將完整表保存到 csv 文件中

我們發(fā)現(xiàn),返回的數(shù)據(jù)集是一個(gè)三維的列表。那么在我們平時(shí)處理的 excel 表格數(shù)據(jù)(行與列)都是二維的數(shù)據(jù)。那么,這多出的一維是什么呢?其實(shí)就是我們的夜[頁]~ 再來一個(gè)循環(huán)取出二維數(shù)據(jù)進(jìn)行保存即可

for pdf_pg in pdf_mt.pages[50:53]: for pdf_tb in pdf_pg.extract_tables(): print(pdf_tb) ------------------------------------------------------------------------------結(jié)果比較多,截取一部分:[[’項(xiàng)目’, ’附注’, ’期末余額’, ’期初余額’], [’流動資產(chǎn):’, ’’, ’’, ’’], [’貨幣資金’, ’1’, ’112,074,791,420.06’, ’87,868,869,913.34’], [’結(jié)算備付金’, ’’, ’’, ’’], [’拆出資金’, ’’, ’’, ’’], [’以公允價(jià)值計(jì)量且其變動計(jì)入當(dāng)n期損益的金融資產(chǎn)’, ’’, ’’, ’’], [’衍生金融資產(chǎn)’, ’’, ’’, ’’], [’應(yīng)收票據(jù)及應(yīng)收賬款’, ’2’, ’563,739,710.00’, ’1,221,706,039.00’]]

但是,真的那么簡單嗎?這時(shí),我們就需要細(xì)品我們的 pdf 了,如下圖

Python讀取pdf表格寫入excel的方法

我們發(fā)現(xiàn),一張完整的資產(chǎn)負(fù)債表分布在多頁上。也就是說,每一頁的里面的表格數(shù)據(jù)都是一個(gè)三維的列表,所以我們保存數(shù)據(jù)的時(shí)候,需要讓其有共同的表頭(列索引),并且進(jìn)行拼接。

那必須就要強(qiáng)推我們的 pandas 了,pandas.DataFrame() 非常完美的創(chuàng)建表格式的二維數(shù)組,以及指定列索引(表頭)。包括可以直接 使用 df.append() 進(jìn)行共同表頭數(shù)據(jù)的堆疊拼接。

import pdfplumberimport pandas as pdimport numpy as np# 創(chuàng)建僅有表頭的 dataframe 數(shù)組pdf_df = pd.DataFrame(columns=[’項(xiàng)目’, ’附注’, ’期末余額’, ’期初余額’])# 獲取 pdf 文件對象pdf_mt = pdfplumber.open('mt2018.pdf')# 因?yàn)槲倚枰@取的資產(chǎn)負(fù)債表在 51-53頁 但是索引從0開始 所以切片取 50-52即可for pdf_pg in pdf_mt.pages[50:53]: # 獲取二維列表 for pdf_tb in pdf_pg.extract_tables():# 將其拼接 pdf_df = pdf_df.append(pd.DataFrame(np.array(pdf_tb),columns=[’項(xiàng)目’, ’附注’, ’期末余額’, ’期初余額’]))# 顯示后五條pdf_df.tail()

dataframe數(shù)據(jù)輸出如下:

Python讀取pdf表格寫入excel的方法

pdf 53頁如下:

Python讀取pdf表格寫入excel的方法

實(shí)際上,大家也發(fā)現(xiàn),我們獲取的最后一頁的數(shù)據(jù)還有一部分是另一個(gè)表的,所以我們需要將其去除,并且有序的設(shè)置行索引,再保存到 csv 文件中。

# 去除后三行pdf_df = pdf_df.iloc[:-3,:]# 重置索引pdf_df = pdf_df.reset_index(drop=True)# 保存到 csv 文件中pdf_df.to_csv('mt_2018.csv')

Python讀取pdf表格寫入excel的方法

當(dāng)然,今天就到這里,其它的需求我們下次給大家完善。大家也可以自己將代碼封裝成函數(shù),這樣就可以實(shí)現(xiàn)傳入 pdf文件名稱、頁數(shù)以及保存的文件名來復(fù)用代碼。如果大家再掌握了 pandas 就可以根據(jù)自己的需求,對各個(gè)表格數(shù)據(jù)進(jìn)行處理。再結(jié)合 seaborn 繪圖可視化,完爆 excel ~ 快學(xué)習(xí)起來叭,GOGOGO

以上就是Python讀取pdf表格寫入excel的方法的詳細(xì)內(nèi)容,更多關(guān)于Python讀取pdf表格寫入excel的資料請關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: python
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
国产欧美在线| 国产视频一区二| 亚洲a在线视频| 亚洲综合激情在线| 国产不卡一区| 日韩中文字幕亚洲一区二区va在线| 日韩av不卡一区二区| 免费在线观看一区| 久久久久蜜桃| 国产欧美视频在线| 久久婷婷一区| 欧美国产免费| 亚洲丝袜美腿一区| 色吊丝一区二区| 青青伊人久久| 欧美精品高清| 精品视频亚洲| 69堂免费精品视频在线播放| 亚洲一区二区三区四区五区午夜| 亚洲精选91| 国产成人免费| 免费黄网站欧美| 国产成人免费精品| 日韩精品看片| 国产欧美啪啪| 首页国产欧美日韩丝袜| 国产精品1区在线| 水蜜桃久久夜色精品一区的特点| 麻豆国产精品| 亚洲最大av| 国产欧美日韩在线观看视频| 欧美天堂一区| 日韩国产高清在线| 国产成人免费| 亚洲免费一区二区| 亚洲精品亚洲人成在线观看| 91p九色成人| 五月天综合网站| 日韩精品福利一区二区三区| 免费久久久久久久久| 国产美女视频一区二区| 亚洲女人av| 不卡中文字幕| 伊伊综合在线| 国产aⅴ精品一区二区三区久久| 日本在线成人| 亚洲区第一页| 亚洲毛片网站| 喷白浆一区二区| 涩涩涩久久久成人精品| 久久一区国产| 亚洲先锋成人| 国产欧美在线观看免费| 国产日韩一区| 久久美女性网| 国产一区不卡| 日韩精品视频网站| av高清一区| 久久大逼视频| 91精品麻豆| 在线视频亚洲| 国产欧美日韩免费观看| 久久高清一区| 99国产精品私拍| 亚洲欧美综合| 欧美精品一区二区三区精品| 日韩精品一区二区三区免费观看| 成人午夜在线| 国产欧美88| 国产aa精品| se01亚洲视频 | 亚洲天堂黄色| 国产精品毛片| 日韩**一区毛片| 国产精品入口久久| 都市激情国产精品| 亚洲欧美伊人| 欧美日韩18| 九九精品调教| 9国产精品视频| 日韩黄色在线观看| 国产精品www.| xxxxx性欧美特大| 五月综合激情| 久久国产精品毛片| 国产欧美日韩在线一区二区 | 91精品99| 亚洲精品中文字幕99999| 另类综合日韩欧美亚洲| 99精品综合| 91亚洲精品在看在线观看高清| 精品免费在线| 中文字幕日韩欧美精品高清在线| 国产精品日韩精品在线播放| 欧美日韩视频网站| 国产亚洲在线观看| 老司机精品视频网| 老司机久久99久久精品播放免费| 国产精品久久久久久久久久妞妞 | 久久av资源| 午夜宅男久久久| 精品高清久久| 热久久免费视频| 日韩精品水蜜桃| 日本少妇精品亚洲第一区| 久久麻豆精品| 国产麻豆精品| 亚洲欧洲日本mm| 激情黄产视频在线免费观看| 日韩精品一二区| 天堂日韩电影| 国产一区精品福利| 久久精品97| 伊人久久大香伊蕉在人线观看热v| 国产精品成人a在线观看| 亚洲一级淫片| 日韩欧美午夜| 91av亚洲| 欧美激情91| 欧美日韩中文| 日韩欧美中文在线观看| 蜜桃视频一区二区三区在线观看| 五月天久久久| 9久re热视频在线精品| 中文一区一区三区高中清不卡免费| 国产欧美一区二区精品久久久| 亚洲日韩中文字幕一区| 午夜亚洲一区| 亚洲一区二区三区久久久| 国产精品婷婷| 最近国产精品视频| 视频一区日韩| 国产精品任我爽爆在线播放| 欧美午夜三级| 麻豆国产欧美一区二区三区| 精品国产午夜肉伦伦影院| 精品久久免费| 亚洲特级毛片| 综合亚洲色图| 国产亚洲人成a在线v网站| 国产美女久久| 丁香六月综合| 美女精品在线| 国产欧美欧美| 久久久久欧美精品| 好吊视频一区二区三区四区| 视频在线观看91| 97久久中文字幕| 国产精品成人a在线观看| 午夜久久黄色| 欧美精品aa| 欧美日韩免费观看视频| 免费不卡在线视频| 久久av资源| 欧美成人国产| 日韩国产欧美三级| 久久婷婷久久| 国产麻豆一区二区三区精品视频| 精品国产亚洲一区二区三区| 欧美另类专区| 精品久久影院| 日韩中文字幕一区二区高清99| 久久av国产紧身裤| 黄色成人精品网站| 久久精品国产免费| 99国产精品视频免费观看一公开| 麻豆国产欧美日韩综合精品二区| 亚洲黄色在线| 日韩国产欧美一区二区| 亚洲一区二区网站| 精品视频免费| 日本成人在线一区| 91成人超碰| 亚洲风情在线资源| 国产精品xxx在线观看| 亚州av一区| 久久av在线| av亚洲在线观看| 成人福利视频| 久久99青青| 国产精品.xx视频.xxtv| 亚洲精品系列| 亚洲精品少妇| 亚洲精品第一| 首页国产欧美日韩丝袜| 国产在线欧美| 99久久久久国产精品| 青青久久av| 久久激情一区| 黄色不卡一区| 尤物在线精品| 中文字幕日本一区二区| 久久av一区| 亚洲免费福利一区| 日本久久一区| 欧美日韩亚洲一区二区三区在线 | 青青草精品视频| 中文字幕一区二区三区四区久久| 九色精品91| 国产亚洲在线|