Camelot:一個從pdf抽取表格數據的Python庫
PDF誕生自Camelot項目。目的是創建一個通用的文檔交流格式,以支持多種機器平台,操作系統和通信網路。其目標是使文檔能夠在任何顯示器上可視,在任何現代印表機上可列印。PDF基於PostScript(一種頁面描述語言)。該語言解決了在任意地方顯示和列印的問題。PDF包含了文檔「在任意地方可視和列印」所需的組件。比如,字元、字體、圖表、圖片等。
一個PDF文檔包含許多放置文字(或其他組件)的指令。這些指令使用以頁面左下角為原點的x、y坐標放置頁面元素。一個單詞通過將幾個字元緊湊的放置在一起來模擬。同樣的,空白通過使字元間隔更大來模擬。那怎樣模擬一個表格呢?你猜對了-- 通過把字元擺放得跟一個電子表格一樣來模擬。
PDF中沒有一個內部的表示方式來表示一個表格。這使得表格數據很難被抽取出來做分析。不幸的是很多開放的數據是存儲在pdf格式的文件中的。但是PDF格式在設計上並沒有很好的支持表格數據。
Camelot: 一個友好的PDF表格數據抽取工具
今天,我們很高興的發布了Camelot。一個python命令行工具,使任何人都能很輕鬆的從PDF文件中抽取表格數據。
安裝 Camelot
安裝非常簡單! 在安裝相關的依賴後,可以直接使用pip安裝。
$ pip install camelot-py
怎樣使用Camelot
使用Camelot從PDF文檔提取數據非常簡單
為什麼使用Camelot
.Camelot允許你通過調整設置項來精確控制數據的提取過程
.可以根據空白和精度指標來判斷壞的表格,並丟棄,而不必手動檢查
.每一個表格數據是一個panda的dataframe,從而可以很方便的集成到ETL和數據分析工作流中
.可以把數據導出為各種不同的格式比如 CSV、JSON、EXCEL、HTML
好的,為什麼不是其他的PDF表格數提取庫?
Camelot為數據抽取過程提供全部的控制權
許多人使用開源的庫或者商業庫來做數據提取工作。但是這些庫要麼很完美的提取出數據,要麼完全失敗。而不是介於這兩者之間。但是現實世界並不總是這麼界限分明,包括PDF提取數據。而這導致了我們需要為每一個PDF定製專門的腳本。我們創建了Camelot庫對提取數據的過程提供了完全的控制權。假如你用默認方式無法獲取數據,你可以通過調整參數來適配。


TAG:Python部落 |