ETH官方钱包

創作內容

0 GP

camelot 爬取 pdf 內容

作者:戠弈翔│2020-08-28 16:19:21│巴幣:0│人氣:412
有一天突然有一個莫名的想法,好想看日出喔.....
後來就在想乾脆約死黨,連假去山上露營看日出好了。

既然有這個想法,那麼我們就要想辦法去執行!
我的宗直就是,挑戰自我 離開自己的舒適圈

先來說說我計畫的想法,如果能找出當地地方的日出時間
這樣在晚上露營喝酒時,就知道什麼時候該休息
休息到幾點該起來看日出  呵呵!

所以就去中央氣象局的網站查各地日出的時刻表(笑)

以上敘述,跟這次程式內容沒有太實際相關(笑)
希望大家都能離開自己的舒適圈 挑戰自己!!

我純粹是為了湊文章字數才會寫出來的。
但這個露營計畫是真的,也已經有跟死黨在規劃中。

會寫這篇文章,是之前我有一位女性友人
她在會計事務所上班,所遇到的一個問題
問我 python 能不能抓取 PDF 表格內容、數據
我就很有自信的回答她。 有!  用 camelot 這個套件(雖然我都沒有用過,只有聽過)
但我還是很認真的回答她!!

因為這個原因,後來就決定寫一篇 使用 camelot 套件 來讀取 PDF 的內容
反正我也沒有用過(笑) ,這是寫開心的。

先來說說 camelot 套件,這是一套能夠抓取 PDF檔表格內容的套件
camelot 官方網站  , 裡面有很詳細的安裝方式、使用方法、範例示範。

那我就以我那個計畫來弄一個簡單的不負責任範例。
如果我今天到中央氣象局的網站,下載我要的地方日出 PDF
可是我又想把 PDF 裡面的表格內容抓出來 自己整理  如下圖


我這邊用 jupyter notebook 來寫。

首先先 讀取 PDF , camelot.read_pdf ( 檔案位置,  頁數,  表格解析方式)
檔案位置: 絕對位置 or 網路上的檔案位置
頁數: 讀取 PDF 第X頁 ( 讀取要的表格在X頁 )
解析方式: lattice  or  stream ( 這邊使用 stream , 把整頁當成表格來解析 )
再印出 解析的結果

再來就能夠把 抓取的內容印出來 如下圖

這時就能把 tables[0].df 轉成其他格式檔案 ( html , csv , excel , json 等等)
這邊我就轉成 csv

轉好之後 我們就能夠打開csv檔,這時會遇到一個問題 中文字的部分出現亂碼

excel 預設為 ANSI,可是檔案裡面的中文是以 BIG5,所以格式不符就會出現亂碼
這邊很簡單把CSV檔用記事本開啟,編碼存成  具有BOM的UTF-8

這樣就成解決檔案出現亂碼的問題,而且開始弄資料處理的部分了。

當然這種套件的使用都是依照個人需求,而這個檔案的表格其實不適合拿來示範
因為不夠亂不夠雜,感覺不能體現出套件的強大功能。

但如果今天是一個非常複雜的表格,像是什麼公家機關法院公布的法拍屋 PDF檔資訊, 通常那種表格都是特別的雜又亂。這時在做文書處理,就能使用這種套件來處理,能大大的縮短時間,也方便做資料整理。


引用網址:http://www.jamesdambrosio.com/TrackBack.php?sn=4897541
All rights reserved. 版權所有,保留一切權利

相關創作

同標籤作品搜尋:心情日記|日誌|github|計畫|camelot|PDF|python|舒適圈

留言共 0 篇留言

我要留言提醒:您尚未登入,請先登入再留言

喜歡★aqwe45621 可決定是否刪除您的留言,請勿發表違反站規文字。

前一篇:puppeteer 爬蟲... 後一篇:踏出舒適圈 挑戰自我 -...


face基於日前微軟官方表示 Internet Explorer 不再支援新的網路標準,可能無法使用新的應用程式來呈現網站內容,在瀏覽器支援度及網站安全性的雙重考量下,為了讓巴友們有更好的使用體驗,巴哈姆特即將於 2019年9月2日 停止支援 Internet Explorer 瀏覽器的頁面呈現和功能。
屆時建議您使用下述瀏覽器來瀏覽巴哈姆特:
。Google Chrome(推薦)
。Mozilla Firefox
。Microsoft Edge(Windows10以上的作業系統版本才可使用)

face我們了解您不想看到廣告的心情? 若您願意支持巴哈姆特永續經營,請將 gamer.com.tw 加入廣告阻擋工具的白名單中,謝謝 !【教學】