本文目錄一覽:
利用python去除pdf水印
去水印只針對pdf
通過給與的水印圖,找出相似水印並去除
本文參考資料:
Python操作PDF-文本和圖片提取(使用PyPDF2和PyMuPDF)
Python處理PDF的實用姿勢
使用PyPDF2在PDF上去除水印
Python利器:如何處理PDF表格數據
大家好,我是Peter~
在很多情況下,我們都需要處理PDF格式的文件。尤其當我們遇到PDF表格數據需要進行提取,真的是一個令人頭疼的問題。
因為PDF文件不能像Word那樣直接複製,即使複製了再黏貼也可能會出現格式排版錯亂甚至亂碼問題。如何從一個PDF文件提取出表格數據?本文提供兩個解決方案:
首先提供的一種方法是從文字 PDF 中提取表格信息的工具:Camelot,它能夠直接將大部分表格轉換為 Pandas 的 Dataframe。
更多的詳細信息,請參考項目地址:
camelot的安裝有多種方式。如果有報錯,網上一般有解決方式:
1、通過conda安裝
2、使用pip進行安裝
3、通過GitHub進行安裝
首先將項目複製到本地:
然後進入文件中進行安裝:
下面通過一個案例來講解如何使用camelot。假設我們現在有一個只有一頁的PDF文件test.pdf:
1、先讀取文件
導出成csv格式的數據(方式1)
查看tables的相關信息:
導出方式2:
將數據轉換成DataFrame:
tabula的功能比camelot更加強大,可以同時對多個表格數據進行提取。項目的具體地址請參考:
tabula的安裝是非常簡單的:
安裝之後檢驗這個庫是否安裝成功:
通過tabula這個庫來讀取PDF文件:
然後我們發現列表中唯一的一個元素就是dataframe:
將讀取到的數據輸出成CSV格式的文件:
上面讀取的PDF文件是比較簡單的,只有一頁,而且剛好是一個很標準的表格形式的數據,下面看一個比較複雜的例子:
下面是第一頁,第一列可以看成是索引:
在第二頁中有兩份表格,而且中間有很多的空白行:
第三頁的數據比較標準:
這3頁是在同一個PDF文件中,這3頁是在同一個PDF文件中,這3頁是在同一個PDF文件中
上面的紅色提示中我們看到:當沒有指定pages參數的時候,只會默認讀取第一頁的數據,所以列表的長度為1。
轉成dataframe後將原來的索引變成新的一列 (部分數據)
通過pages來讀取全部數據:
通過指定pages=”all”:
同時獲取兩個表格的數據:
通過area參數來指定:
刪除在讀取的表格中我們不需要的欄位信息
可以將得到的數據輸出成不同格式的文件,以json格式為例:
我們可以看到
Python 操作PDF庫介紹之PDFMiner
Python 操作PDF庫介紹之PDFMiner
PDFMiner是一種從PDF文檔中提取信息的工具。與其他PDF相關工具不同,它完全專註於獲取和分析文本數據。
PDFMiner允許人們獲取頁面中文本的確切位置,以及字體或線條等其他信息。
它包括一個PDF轉換器,可以將PDF文件轉換為其他文本格式(如HTML)。它具有可擴展的PDF解析器,可用於除文本分析之外的其他目的。
github:
用python批量提取pdf的表格數據,保存為excel
pdfplumber 是一個開源 python 工具庫-,可以方便地獲取 pdf 的各種信息,包括文本、表格、圖表、尺寸等。完成我們本文的需求,主要使用 pdfplumber 提取 pdf 表格數據。
python 中還有很多庫可以處理 pdf,比如 PyPDF2、pdfminer 等,本文選擇pdfplumber 的原因在於能輕鬆訪問有關 PDF 的所有詳細信息,包括作者、來源、日期等,並且用於提取文本和表格的方法靈活可定製。大家可以根據手頭數據需求,再去解鎖 pdfplumber 的更多用法。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/159319.html