欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python 用三行代碼提取PDF表格數據

 更新時間:2019年10月13日 11:12:57   作者:Python開發(fā)者  
這篇文章主要介紹了Python 用三行代碼提取PDF表格數據,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

從 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]"

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • 淺談Selenium 控制瀏覽器的常用方法

    淺談Selenium 控制瀏覽器的常用方法

    這篇文章主要介紹了淺談Selenium 控制瀏覽器的常用方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-12-12
  • Python在for循環(huán)里處理大數據的推薦方法實例

    Python在for循環(huán)里處理大數據的推薦方法實例

    這篇文章主要介紹了Python在for循環(huán)里處理大數據的推薦方法實例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2024-01-01
  • pyspark?dataframe列的合并與拆分實例

    pyspark?dataframe列的合并與拆分實例

    這篇文章主要介紹了pyspark?dataframe列的合并與拆分實例,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • Python中元組的概念及應用小結

    Python中元組的概念及應用小結

    Python中的元組和列表很相似,元組也是Python語言提供的內置數據結構之一,可以在代碼中直接使用,這篇文章主要介紹了Python中元組的概念以及應用,需要的朋友可以參考下
    2023-01-01
  • python操作excel的包(openpyxl、xlsxwriter)

    python操作excel的包(openpyxl、xlsxwriter)

    這篇文章主要為大家詳細介紹了python操作excel的包,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-06-06
  • 使用tensorflow根據輸入更改tensor shape

    使用tensorflow根據輸入更改tensor shape

    這篇文章主要介紹了使用tensorflow根據輸入更改tensor shape,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • 詳解python爬蟲系列之初識爬蟲

    詳解python爬蟲系列之初識爬蟲

    這篇文章主要介紹了python爬蟲系列之初識爬蟲,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-04-04
  • SQLAlchemy的主要組件詳細講解

    SQLAlchemy的主要組件詳細講解

    SQLAlchemy是一個基于Python實現的ORM框架,能滿足大多數數據庫操作需求,同時支持多種數據庫引擎(SQLite,MySQL,Postgresql,Oracle等),這篇文章主要介紹了SQLAlchemy的主要組件有哪些,本文給大家介紹的非常詳細,對大家的學習具有一定的參考借鑒價值,需要的朋友可以參考
    2023-08-08
  • python??Matplotlib繪圖直線,折線,曲線

    python??Matplotlib繪圖直線,折線,曲線

    這篇文章主要介紹了python??Matplotlib繪圖直線,折線,曲線,文章圍繞主題展開詳細的內容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-09-09
  • 關于Tensorflow分布式并行策略

    關于Tensorflow分布式并行策略

    今天小編就為大家分享一篇關于Tensorflow分布式并行策略,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02

最新評論