小編給大家分享一下Python如何提取PDF表格數據,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
目前創(chuàng)新互聯公司已為千余家的企業(yè)提供了網站建設、域名、雅安服務器托管、網站托管、服務器租用、企業(yè)網站設計、東光網站維護等服務,公司將堅持客戶導向、應用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。從 PDF 表格中獲取數據是一項痛苦的工作。不久前,一位開發(fā)者提供了一個名為 Camelot 的工具,使用三行代碼就能從 PDF 文件中提取表格數據。
PDF 文件是一種非常常用的文件格式,通常用于正式的電子版文件。它能夠很好的將不同的排版格式固定下來,形成版面清晰且美觀的展示效果。然而,對于想要從 PDF 中提取信息的人們來說,PDF 是個噩夢,尤其是表格。
大量的學術報告、論文、分析文章都使用 PDF 展示其中的表格數據,但是對于如果想要直接從表格中復制數據則會非常麻煩。不久前,有一位開發(fā)者提供了一個可從文字 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 在抽取后做了空行處理,這是一個穩(wěn)妥的方法。
安裝方法
項目作者提供了三種安裝方法。首先,你可以使用 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]"
以上是“Python如何提取PDF表格數據”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注創(chuàng)新互聯行業(yè)資訊頻道!
名稱欄目:Python如何提取PDF表格數據-創(chuàng)新互聯
本文網址:http://www.rwnh.cn/article10/cssodo.html
成都網站建設公司_創(chuàng)新互聯,為您提供軟件開發(fā)、網站排名、品牌網站建設、企業(yè)建站、網站營銷、外貿網站建設
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯