0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

Camelot模塊的使用方法

科技綠洲 ? 來源:Python實用寶典 ? 作者:Python實用寶典 ? 2023-11-01 10:02 ? 次閱讀

如果你有從PDF中批量提取表格的需求,那么這篇文章就是你的福音。

Python 第三方模塊 Camelot 能夠精準識別PDF中的表格信息,并提取為pandas數(shù)據(jù)結構,而且還能導出為多種格式:JSON,Excel,HTML和Sqlite。

下面給大家介紹這個模塊的使用方法:

1.準備

開始之前,你要確保Python和pip已經(jīng)成功安裝在電腦上,如果沒有,可以訪問這篇文章:超詳細Python安裝指南 進行安裝。

如果你用Python的目的是數(shù)據(jù)分析,可以直接安裝Anaconda:Python數(shù)據(jù)分析與挖掘好幫手—Anaconda,它內(nèi)置了Python和pip.

此外,推薦大家用VSCode編輯器,它有許多的優(yōu)點:Python 編程的最好搭檔—VSCode 詳細指南。

請選擇以下任一種方式輸入命令安裝依賴

  1. Windows 環(huán)境 打開 Cmd (開始-運行-CMD)。
  2. MacOS 環(huán)境 打開 Terminal (command+空格輸入Terminal)。
  3. 如果你用的是 VSCode編輯器 或 Pycharm,可以直接使用界面下方的Terminal.
pip install camelot-py[cv]

2.使用

最簡單的使用方式如下:

import camelot
# 1.讀取pdf
tables = camelot.read_pdf('foo.pdf', flavor='stream')
# 2.導出pdf所有的表格為csv文件
tables.export('foo.csv', f='csv') # json, excel, html, sqlite

第一行,導入了camelot這個模塊。

第二行,以stream的模式讀取當前目錄的foo.pdf文件。

第三行,將所有表格數(shù)據(jù)導出為 foo.csv 文件,并保存在當前文件夾下。

相當簡單,請注意,read_pdf 的 flavor 參數(shù)是可選的,如果你不帶這個參數(shù),請注意需要安裝 ghostscript 這個驅動,因為它默認使用 ghostscript 去用 lattice 模式。

3.進階

3.1 處理背景線:

圖片

可以看到,很多表格的線都隱藏在背景中。這種表格默認是不支持的,這時候我們需要讓程序能夠自動識別這樣的表格:

tables = camelot.read_pdf('background_lines.pdf', process_background=True)

增加 process_background=True 參數(shù)即可。

3.2 指定表格區(qū)域

某些情況下無法正確識別到PDF中的表格,此時手動設定左上角和右下角的邊界可能是有效果的:

tables = camelot.read_pdf('table_areas.pdf', flavor='stream', table_areas=['316,499,566,337'])

其中 table_areas 接受格式為 x1,y1,x2,y2 的字符串,其中(x1,y1) -> 左上角, (x2,y2) -> 右下角。在PDF坐標空間中,頁面的左下角是原點,坐標為(0,0)。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 模塊
    +關注

    關注

    7

    文章

    2626

    瀏覽量

    47211
  • PDF
    PDF
    +關注

    關注

    1

    文章

    166

    瀏覽量

    33622
  • python
    +關注

    關注

    54

    文章

    4756

    瀏覽量

    84283
收藏 人收藏

    評論

    相關推薦

    紅外尋跡模塊使用方法

    `紅外尋跡模塊使用方法A) 檢測到白色時指示燈亮,輸出低電平 B)檢測到黑色時指示燈滅,輸出高電平`
    發(fā)表于 06-05 12:04

    天線的選擇與使用方法

    無線模塊的通信距離是一項重要指標,如何把有效通信距離最大化一直是大家疑惑的問題。本文根據(jù)調試經(jīng)驗及對天線的選擇與使用方法做了一些說明,希望對工程師快速調試通信距離有所幫助。無線模塊的通信距離是一項
    發(fā)表于 01-04 06:11

    IGBT驅動模塊EXB841使用方法的改進

    IGBT驅動模塊EXB841使用方法的改進 摘要: 本文對目前在電力電子技術中廣泛使用的IGBT驅動模塊EXB841的使用方法進行了改進,克服了EXB841本身的缺陷,提高了保護
    發(fā)表于 05-08 15:11 ?84次下載

    RTL8710模塊常用使用方法

    Realtek 物聯(lián)網(wǎng)(iot)領域SOC芯片rtl8710的使用方法。
    發(fā)表于 05-25 10:01 ?0次下載

    AURORA的功能模塊使用方法介紹

    本文將覆蓋極光遠程安全評估系統(tǒng)(以下簡稱極光或AURORA)的所有功能點,并詳細介紹極光的主要功能模塊使用方法。
    發(fā)表于 09-22 16:36 ?12次下載
    AURORA的功能<b class='flag-5'>模塊</b>和<b class='flag-5'>使用方法</b>介紹

    示波器的使用方法(三):示波器的使用方法詳解

    示波器的使用方法并非很難,重點在于正確使用示波器的使用方法。往期文章中,小編對模擬示波器的使用方法和數(shù)字示波器的使用方法均有所介紹。為增進大家對示波器的
    的頭像 發(fā)表于 12-24 20:37 ?3087次閱讀

    三相電采集模塊使用方法描述

    三相電采集模塊使用方法描述
    的頭像 發(fā)表于 12-28 15:04 ?1981次閱讀

    STM32G0開發(fā)筆記:SD卡模塊使用方法

    使用Platformio平臺的libopencm3開發(fā)框架來開發(fā)STM32G0,下面介紹SD卡模塊使用方法
    的頭像 發(fā)表于 01-19 16:27 ?2097次閱讀
    STM32G0開發(fā)筆記:SD卡<b class='flag-5'>模塊</b>的<b class='flag-5'>使用方法</b>

    Python的PDF表格提取器-Camelot

    Python 第三方模塊 Camelot 能夠精準識別PDF中的表格信息,并提取為pandas數(shù)據(jù)結構,而且還能導出為多種格式:JSON,Excel,HTML和Sqlite。
    的頭像 發(fā)表于 02-24 11:04 ?2061次閱讀
    Python的PDF表格提取器-<b class='flag-5'>Camelot</b>

    Channel模塊使用方法示例

    教程中,我們將介紹 Rust 語言中的 Tokio 模塊 channel,并提供幾個示例,以幫助您更好地理解它的使用方法。 什么是 Tokio 模塊 Channel? Tokio 模塊
    的頭像 發(fā)表于 09-20 11:47 ?923次閱讀

    Camelot:Python超強大的PDF表格提取器

    :JSON,Excel,HTML和Sqlite。 下面給大家介紹這個模塊使用方法: 1.準備 開始之前,你要確保Python和pip已經(jīng)成功安裝在電腦上,如果沒有,可以訪問這篇文章: 超詳細Python
    的頭像 發(fā)表于 10-21 10:57 ?1360次閱讀
    <b class='flag-5'>Camelot</b>:Python超強大的PDF表格提取器

    Camelot:超強大的PDF表格提取器

    :JSON,Excel,HTML和Sqlite。 下面給大家介紹這個模塊使用方法: 1.準備 開始之前,你要確保Python和pip已經(jīng)成功安裝在電腦上,如果沒有,可以訪問這篇文章: 超詳細Python
    的頭像 發(fā)表于 10-30 09:44 ?830次閱讀
    <b class='flag-5'>Camelot</b>:超強大的PDF表格提取器

    Box 模塊使用方法

    } })movie_box.Robin_Hood_Men_in_Tights.imdb_stars# 6.7 另外,可以看到默認情況下轉換后,字典鍵值中的空格被轉化為了下劃線。 下面具體介紹 Box 模塊使用方法。
    的頭像 發(fā)表于 10-31 10:40 ?601次閱讀

    電源模塊使用方法

    電源模塊主要用于為電子設備和電路提供電源供電,以下是一般的電源模塊使用方法: 確定電源模塊的輸入和輸出電壓要求:電源模塊一般有輸入和輸出端子
    的頭像 發(fā)表于 03-05 09:06 ?1380次閱讀

    了解光模塊使用方法

    模塊使用方法: 防靜電措施:無論是在室內(nèi)還是室外,使用光模塊時必須采取防靜電措施,確保佩戴好防靜電手套或防靜電手環(huán),避免靜電對光模塊造成損害。 取放操作:拿取光
    的頭像 發(fā)表于 04-23 10:54 ?1102次閱讀