<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Python-Camelot:用三行代碼提取PDF表格數(shù)據(jù)

          共 1570字,需瀏覽 4分鐘

           ·

          2021-11-20 22:21


          從 PDF 表格中獲取數(shù)據(jù)是一項(xiàng)痛苦的工作。不久前,一位開(kāi)發(fā)者提供了一個(gè)名為 Camelot 的工具,使用三行代碼就能從 PDF 文件中提取表格數(shù)據(jù)。
          PDF 文件是一種非常常用的文件格式,通常用于正式的電子版文件。它能夠很好的將不同的排版格式固定下來(lái),形成版面清晰且美觀的展示效果。然而,對(duì)于想要從 PDF 中提取信息的人們來(lái)說(shuō),PDF 是個(gè)噩夢(mèng),尤其是表格。

          大量的學(xué)術(shù)報(bào)告、論文、分析文章都使用 PDF 展示其中的表格數(shù)據(jù),但是對(duì)于如果想要直接從表格中復(fù)制數(shù)據(jù)則會(huì)非常麻煩。不久前,有一位開(kāi)發(fā)者提供了一個(gè)可從文字 PDF 中提取表格信息的工具——Camelot,能夠直接將大部分表格轉(zhuǎn)換為 Pandas 的 Dataframe。


          • 項(xiàng)目地址:https://github.com/camelot-dev/camelot



          Camelot 是什么


          據(jù)項(xiàng)目介紹稱(chēng),Camelot 是一個(gè) Python 工具,用于將 PDF 文件中的表格數(shù)據(jù)提取出來(lái)。


          具體而言,用戶可以像使用 Pandas 那樣打開(kāi) PDF 文件,然后利用這個(gè)工具提取表格數(shù)據(jù),最后再指定輸出的形式(如 csv 文件)。


          代碼示例


          項(xiàng)目提供的 PDF 文件如圖所示,假設(shè)用戶需要提取這些文字之間的表格 2-1 中的信息。

          PDF 文件。我們需要提取表格 2-1。


          使用 Camelot 提取表格數(shù)據(jù)的代碼如下:


          >>>?import?camelot
          >>>?tables?=?camelot.read_pdf('foo.pdf')?#類(lèi)似于Pandas打開(kāi)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,?導(dǎo)出數(shù)據(jù)為文件
          >>>?tables
          1>
          >>>?tables[0]
          7,?7)>?#?獲得輸出的格式
          >>>?tables[0].parsing_report
          {
          ????'accuracy':?99.02,
          ????'whitespace':?12.24,
          ????'order':?1,
          ????'page':?1
          }


          以下為輸出的結(jié)果,對(duì)于合并的單元格,Camelot 在抽取后做了空行處理,這是一個(gè)穩(wěn)妥的方法。



          安裝方法


          項(xiàng)目作者提供了三種安裝方法。首先,你可以使用 Conda 進(jìn)行安裝,這是最簡(jiǎn)單的。


          conda?install?-c?conda-forge?camelot-py

          最流行的安裝方法是使用 pip 安裝。


          pip?install?camelot-py[cv]

          還可以從項(xiàng)目中克隆代碼,并使用源碼安裝。


          git?clone?https://www.github.com/camelot-dev/camelot
          cd?camelot
          pip?install?".[cv]"


          妙不可言!使用 Python 管道 Pipe 編寫(xiě)代碼如此優(yōu)雅!


          10億人臉數(shù)據(jù)全部刪除!Facebook徹底關(guān)閉人臉識(shí)別工具!


          Python處理CSV、JSON和XML數(shù)據(jù)的簡(jiǎn)便方法來(lái)了


          長(zhǎng)按或掃描下方二維碼,后臺(tái)回復(fù):加群,可申請(qǐng)入群。一定要備注:入群+地點(diǎn)+學(xué)習(xí)/公司。例如:入群+上海+復(fù)旦。


          感謝你的分享,點(diǎn)贊,在看??

          瀏覽 44
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  3p超刺激珍藏了三年极品人妻 | 日B免费视频 | 无套中出丰满人妻无码99 | 夜夜躁狠狠躁日日躁XX | 超碰天天射国产 |