[英]How to extract given PDF to text and tables using python and store the data in .csv file?
我需要提取第一個表帳號,分行名稱等和最后一個表日期,描述和金額。
pdf 文件: https ://drive.google.com/file/d/1b537hdTUMQwWSOJHRan6ckHBUDhRBbvX/view?usp = sharing 使用 pypdf2 庫獲取空白輸出。 camelot 給出 OSError: Ghostscript 未安裝。
import PyPDF2
file_path =open(r"E:\user\programs\28_oct_bank_statement\demo.pdf", "rb")
pdf = PyPDF2.PdfFileReader(file_path)
pageObj = pdf.getPage(0)
print(pageObj.extractText())
import camelot
data = camelot.read_pdf(r"demo.pdf", pages='all')
print(data)
Camelot 具有需要安裝才能工作的依賴項,例如 Ghoscript。 您首先需要檢查它是否為 mac/ubuntu 正確安裝:
from ctypes.util import find_library
find_library("gs")
"libgs.so.9"
對於窗戶:
import ctypes
from ctypes.util import find_library
find_library("".join(("gsdll", str(ctypes.sizeof(ctypes.c_voidp) * 8), ".dll")))
<name-of-ghostscript-library-on-windows>
否則,請從以下頁面https://ghostscript.com/下載適用於 windows 的 Ghostscript。如果您遇到更多問題,我強烈建議您再次閱讀 Camelot 文檔。
我通常使用 apache tika 來做到這一點。
您可以簡單地安裝它,然后使用 python 腳本:
from tika import parser
parsed_pdf = parser.from_file("sample.pdf")
text = parsed_pdf['content']
metadata = parsed_pdf['metadata']
print(data)
請注意,您確實需要在機器上安裝 Java 才能運行它,但是它會返回測試,然后一旦您獲得文本,您就可以查找文本中的模式以提取所需的確切數據。
關於這個的好處是它還將返回 pdf 的元數據
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.