学到一招!三行 Python 代码轻松提取 PDF 表格数据!
來源丨網絡
大家好,我是菜鳥哥~
從 PDF 表格中獲取數據是一項痛苦的工作。不久前,一位開發者提供了一個名為 Camelot 的工具,使用三行代碼就能從 PDF 文件中提取表格數據。
PDF 文件是一種非常常用的文件格式,通常用于正式的電子版文件。它能夠很好的將不同的排版格式固定下來,形成版面清晰且美觀的展示效果。然而,對于想要從 PDF 中提取信息的人們來說,PDF 是個噩夢,尤其是表格。
大量的學術報告、論文、分析文章都使用 PDF 展示其中的表格數據,但是對于如果想要直接從表格中復制數據則會非常麻煩。不久前,有一位開發者提供了一個可從文字 PDF 中提取表格信息的工具——Camelot,能夠直接將大部分表格轉換為 Pandas 的 Dataframe。
項目地址:https://github.com/camelot-dev/camelot
Camelot 是什么
據項目介紹稱,Camelot 是一個 Python 工具,用于將 PDF 文件中的表格數據提取出來。
具體而言,用戶可以像使用 Pandas 那樣打開 PDF 文件,然后利用這個工具提取表格數據,最后再指定輸出的形式(如 csv 文件)。
代碼示例
項目提供的 PDF 文件如圖所示,假設用戶需要提取這些文字之間的表格 2-1 中的信息。
PDF 文件。我們需要提取表格 2-1。
使用 Camelot 提取表格數據的代碼如下:
>>>?import?camelot >>>?tables?=?camelot.read_pdf('foo.pdf')?#類似于Pandas打開CSV文件的形式 >>>?tables[0].df?#?get?a?pandas?DataFrame! >>>?tables.export('foo.csv',?f='csv',?compress=True)?#?json,?excel,?html,?sqlite,可指定輸出格式 >>>?tables[0].to_csv('foo.csv')?#?to_json,?to_excel,?to_html,?to_sqlite,?導出數據為文件 >>>?tables <TableList?n=1> >>>?tables[0] <Table?shape=(7,?7)>?#?獲得輸出的格式 >>>?tables[0].parsing_report {'accuracy':?99.02,'whitespace':?12.24,'order':?1,'page':?1 }以下為輸出的結果,對于合并的單元格,Camelot 在抽取后做了空行處理,這是一個穩妥的方法。
安裝方法
項目作者提供了三種安裝方法。首先,你可以使用 Conda 進行安裝,這是最簡單的。
conda?install?-c?conda-forge?camelot-py最流行的安裝方法是使用 pip 安裝。
pip?install?camelot-py[cv]還可以從項目中克隆代碼,并使用源碼安裝。
git?clone?https://www.github.com/camelot-dev/camelot cd?camelot pip?install?".[cv]"這是我開發的機器人公眾號小號,目前增加了天氣查詢,955公司名單,關注時間查詢;后面還會增加圖片功能和每日送書抽獎送書活動,以及調戲功能,歡迎來體驗,捧場。
推薦閱讀: 入門:?最全的零基礎學Python的問題? |?零基礎學了8個月的Python??|?實戰項目?|學Python就是這條捷徑 干貨:爬取豆瓣短評,電影《后來的我們》?|?38年NBA最佳球員分析?|? ?從萬眾期待到口碑撲街!唐探3令人失望? |?笑看新倚天屠龍記?|?燈謎答題王?|用Python做個海量小姐姐素描圖?|碟中諜這么火,我用機器學習做個迷你推薦系統電影 趣味:彈球游戲? |?九宮格? |?漂亮的花?|?兩百行Python《天天酷跑》游戲! AI:?會做詩的機器人?|?給圖片上色?|?預測收入?|?碟中諜這么火,我用機器學習做個迷你推薦系統電影 小工具:?Pdf轉Word,輕松搞定表格和水印!?|?一鍵把html網頁保存為pdf!|??再見PDF提取收費!?|?用90行代碼打造最強PDF轉換器,word、PPT、excel、markdown、html一鍵轉換?|?制作一款釘釘低價機票提示器!?|60行代碼做了一個語音壁紙切換器天天看小姐姐!|年度爆款文案
1).臥槽!Pdf轉Word用Python輕松搞定!
2).學Python真香!我用100行代碼做了個網站,幫人PS旅行圖片,賺個雞腿吃
3).首播過億,火爆全網,我分析了《乘風破浪的姐姐》,發現了這些秘密?
4).80行代碼!用Python做一個哆來A夢分身?
5).你必須掌握的20個python代碼,短小精悍,用處無窮?
6).30個Python奇淫技巧集?
7).我總結的80頁《菜鳥學Python精選干貨.pdf》,都是干貨?
8).再見Python!我要學Go了!2500字深度分析!
9).發現一個舔狗福利!這個Python爬蟲神器太爽了,自動下載妹子圖片
點閱讀原文,看B站我的視頻!
總結
以上是生活随笔為你收集整理的学到一招!三行 Python 代码轻松提取 PDF 表格数据!的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 前端学习(2389):项目初始化总结
- 下一篇: Python 编程的最好搭档—VSCod