從大量pdf文件中提取數據到Excel中,用python還是用VBA?

職場小白,非IT行業,編程基礎只有C語言(二級),不過過了很多年了,現在也基本忘光了。現在工作需要從大量pdf文件(大概兩千多份吧)中提取相關數據整理到Excel中,人工輸入太耗費時間和精力了,所以想通過自動化方式來實現。之前想通過python或者VBA(說的不對輕噴)看看可不可以通過類似爬蟲的方式來實現,但是一直摸不到門道,各位大神有沒有好的思路,可以分享一下。


【PDFelement 6 專業版】支持批量提取 PDF 文件中的數據。

表單填寫和數據提取一直都是PDFelement 6引以為傲的功能。對於中小型企業,在處理財務報表或者稅單、發票時,經常遇到表單歸檔和數據錄入的問題, PDFelement 6 完美的解決了這個需求。PDFelement 6 支持自動識別可填寫表單域,無需轉換格式,即可直接填寫。另外,你還可以設計自己喜歡錶格形式,軟體里可以創建自己需要的表單選項形式,比如:文本欄位,複選框,單選按鈕,組合框,列表框,按鈕或簽名域。

如果從原生 PDF 文檔中提取數據,只需點擊「數據提取」即可將表單的交互區域里的數據批量提取到Excel表格里,方便報告和分析。

如果遇到掃描版PDF文件,也不用擔心,PDFelement 6 專業版里選定要提取數據的區域,執行OCR,即可提取出來。

細節查看文章: 乾貨帖 | 各種PDF表單的疑難雜症怎麼解決?


更多 PDF 相關乾貨,歡迎關注知乎專欄:PDF 應用技巧

? 如何隱藏 PDF 里的秘密?|密文功能

? 進階教程 | PDF 高級玩家教你這幾個實用操作

? 如何一鍵轉換PDF成Word、Excel、PPT文件

? PDF 應用評測:Adobe Acrobat VS PDF Expert VS PDFelement

? 「革命」你的 PDF 閱讀編輯體驗 - iOS 端 PDFelement 限免

? 一款 PDF 軟體需要具備多少個注釋工具才合適?

? Adobe Acrobat XI 和Reader XI 將終止維護,企業用戶何去何從?

? Preview 預覽真的能解決你的 PDF 需求嗎?

? 乾貨帖 | 各種PDF表單的疑難雜症怎麼解決?

? PDFelement 與 PDF Expert,誰更勝一籌?


在上一家公司工作時同事提過類似的需求,我用VBA取巧解決的

上百張從系統中導出的PDF格式發票,名字都是亂碼,需要重命名成發票中的公司名

當時上網查了一下,發現需要調用acrobat控制項

我嘗試了一下,沒有成功,因為公司的電腦只裝了Adobe Reader PDF,沒裝Adobe Acrobat

但同事還在那眼巴巴的等著,不能讓她失望

我點了下PDF閱讀器的「文件」選項卡,發現有另存為的功能!可以將PDF另存為txt

挑了幾個發票文件,發現另存後公司名都在同一行,且發票中的文本數據都在txt中

然後一切就簡單了

用VBA遍歷並打開PDF文件

模擬鍵盤的快捷鍵將文件另存為txt

遍歷TXT文件,打開後提取指定行的數據,給原PDF文件重命名

當然,因為是模擬鍵盤的操作,運行時不能按滑鼠鍵盤,有時還會漏掉一兩個文件

不過因為是重命名操作,一眼就能看出來,手動改也花不了幾秒鐘

那次最重要的發現就是利用Adobe Reader PDF將PDF另存為TXT了,不過我感覺還是用acrobat比較靠譜


試試finereader abbyy出品的 來自俄羅斯的神器,主打光符識別


VBA功能還沒有這麼強大,單純的處理Excel,VBA還好。可是看題主的描述,是從pdf取數據存放到Excel,這個VBA就很難很難處理了,甚至不能處理。

「之前想通過python或者VBA(說的不對輕噴)看看可不可以通過類似爬蟲的方式來實現」這個題主的意思應該是從pdf中提取對應的文字或數據(不考慮掃描版那種pdf),用Python可以實現,但難易程度跟數據的規整程度有關係。另外如果pdf取的是表格數據,要麻煩很多,不是很好處理。

題主可以先學著試試吧。


可以使用 Python 第三方庫 PDFMiner 讀取PDF 文件,再轉化為字元,但是這個方法對圖像格式的 PDF 沒有用。

還是比較簡單的,建議用Python,VBA 語法更難。


我試過用Excel vba去實現這個功能,但是有一點不確定是否會符合你的要求,首先呢吧這2000多份的pdf全部轉成excel.然後作為總表,相信這個總表會非常的亂,但沒關係可用VBA處理這些數據。宏的強大足以吧亂的原始數據整理好。通過一些關鍵詞去尋找你要的數據就好。


推薦閱讀:

TAG:Python | 數據挖掘 | PDF | MicrosoftExcel | 爬蟲計算機網路 |