當前位置:
首頁 > 科技 > 這個使用 Python 編寫的 PDF 神器你值得擁有!

這個使用 Python 編寫的 PDF 神器你值得擁有!

作者 | 若名

出品 | AI科技大本營

如果經常跟數據表格打交道,那你應該體驗過那種令人煩躁到抓狂的心情。但現在,學會下面將要介紹的一款工具的使用方法,相信我,它會讓你在工作中簡直不能更舒爽。

Excalibur,從古希臘語翻譯過來就是「神劍」,它現在也是一種用於從 PDF 中提取表格數據的 Web 界面,使用 Python 3 編寫,由 Camelot(Python 庫) 提供支持,可以讓任何人輕鬆地從 PDF 文件中提取表格數據。需要注意的是,Excalibur 僅適用於基於文本的 PDF 文件,掃描文件不在此列。

Camelot 和 Excalibur 的作者和維護者是來自新德里 Bharati Vidyapeeth 工程學院的 Vinayak Mehta,目前他正全職做這些項目。

Excalibur 的四大特性

可移植文件格式

PDF 文件定義了將字元放置在相對於頁面左下角的 x,y 坐標的指令。通過將某些字元放在比其他字元更近的地方來模擬單詞。空格是通過將單詞放在相對較遠的地方來模擬的。最後,通過放置在電子表格中顯示的字詞來模擬表格,格式沒有表格結構的內部表示。

自動檢測 PDF 中的表格數據

可移植文件格式不是為表格數據設計的。可悲的是,許多開放數據共享時都是 PDF 文件,但對其中的表格進行分析卻是一件非常痛苦的事。簡單的複製粘貼行不通,Excalibur 通過自動檢測 PDF 中的表格並讓你通過 Web 界面將它們保存為 CSV 和 Excel 文件,這使 PDF 表格提取變得非常簡單。

可動態調整表格提取規則

雖然有很多廣泛用於 PDF 表格提取的開源和閉源工具,但他們輸出的表格良莠不齊。Excalibur 由 Camelot 提供支持,為用戶提供附加設置以調整表格提取並獲得最佳效果。相較而言,它的性能要好於其他開源工具和庫。

數據完全可控且安全

你可以完全控制數據,因為所有文件存儲和處理都在你自己的本地或遠程計算機上進行。Excalibur 還可以配置 MySQL 和 Celery 系統,以並行和分散式方式執行表格提取任務。默認情況下,任務按順序執行。

快速上手指南

下載和安裝

https://github.com/camelot-dev/excalibur/releases

https://excalibur-py.readthedocs.io/en/master/user/install.html#install

設置開發環境

你可以使用 pip 輕鬆安裝開發依賴項:

$ pip install excalibur-py [dev]

測試(很快)

安裝後,你可以使用以下命令運行測試:

$python setup.pytest

使用「神劍」

安裝後,可以使用以下命令初始化元數據的資料庫:

$ excalibur initdb

然後使用以下命令啟動 Web 伺服器:

$ excalibur webserver

現在,你可以轉到 http:// localhost:5000 並開始從 PDF 文件中提取表格數據。

上傳 PDF

你可以使用 Web 界面上傳 PDF 文件,還可以與之前的上傳進行整合。

自動檢測表格

Excalibur 可以自動檢測 PDF 中的表格。

繪製表格區域或者放置分隔符

如果表格深埋在文本內部並且自動檢測失敗,則可以通過繪製表格區域和列分隔符進行操作。

載入已保存的規則設置

你也可以保存 PDF 文件中表格提取的規則設置,並將其應用於新的 PDF 文件以提取具有類似結構的表格。

查看和下載數據

最後,你可以查看提取的表格並將其下載為 CSV 或 Excel 文件。Excalibur 還支持 JSON 和 HTML 格式。

最後給出源代碼鏈接,你可以通過以下方式查看最新源代碼:

$ git clone https://www.github.com/camelot-dev/excalibur

熱 文推 薦


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 CSDN 的精彩文章:

TIOBE 12 月編程語言排行榜:Python 奪回前三,Go 跌出前十
程序員面試 IT 公司,這些細節一定要注意!

TAG:CSDN |