新聞中心
從 PDF 表格中獲取數(shù)據是一項痛苦的工作。不久前,一位開發(fā)者提供了一個名為 Camelot 的工具,使用三行代碼就能從 PDF 文件中提取表格數(shù)據。

我們注重客戶提出的每個要求,我們充分考慮每一個細節(jié),我們積極的做好成都做網站、成都網站建設服務,我們努力開拓更好的視野,通過不懈的努力,創(chuàng)新互聯(lián)建站贏得了業(yè)內的良好聲譽,這一切,也不斷的激勵著我們更好的服務客戶。 主要業(yè)務:網站建設,網站制作,網站設計,重慶小程序開發(fā)公司,網站開發(fā),技術開發(fā)實力,DIV+CSS,PHP及ASP,ASP.Net,SQL數(shù)據庫的技術開發(fā)工程師。
PDF 文件是一種非常常用的文件格式,通常用于正式的電子版文件。它能夠很好的將不同的排版格式固定下來,形成版面清晰且美觀的展示效果。然而,對于想要從 PDF 中提取信息的人們來說,PDF 是個噩夢,尤其是表格。
大量的學術報告、論文、分析文章都使用 PDF 展示其中的表格數(shù)據,但是對于如果想要直接從表格中復制數(shù)據則會非常麻煩。不久前,有一位開發(fā)者提供了一個可從文字 PDF 中提取表格信息的工具——Camelot,能夠直接將大部分表格轉換為 Pandas 的 Dataframe。
- 項目地址:https://github.com/camelot-dev/camelot
Camelot 是什么
據項目介紹稱,Camelot 是一個 Python 工具,用于將 PDF 文件中的表格數(shù)據提取出來。
具體而言,用戶可以像使用 Pandas 那樣打開 PDF 文件,然后利用這個工具提取表格數(shù)據,最后再指定輸出的形式(如 csv 文件)。
代碼示例
項目提供的 PDF 文件如圖所示,假設用戶需要提取這些文字之間的表格 2-1 中的信息。
PDF 文件。我們需要提取表格 2-1。
使用 Camelot 提取表格數(shù)據的代碼如下:
- >>> 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, 導出數(shù)據為文件
- >>> tables
- >>> tables[0]
# 獲得輸出的格式
- >>> 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表格數(shù)據
鏈接分享:http://m.5511xx.com/article/dpssooe.html


咨詢
建站咨詢
