Rumah > Artikel > pembangunan bahagian belakang > Python merealisasikan pengecaman teks PD, pengekstrakan dan penulisan ke dalam perkongsian skrip fail CSV
1. Prakata
2. Penerangan keperluan
3. Mula menggunakan otak dan tangan anda
3.1 Pasang yang berkaitan ketiga- pakej pihak
3.2 Import perpustakaan pihak ketiga yang diperlukan
3.3 Baca fail pdf dan kenal pasti kandungan
3.4 Proses data yang dikenal pasti dan tuliskannya ke dalam fail csv
Ringkasan
imbasan selalu popular di kalangan orang ramai. untuk menggunakannya, menjimatkan kebimbangan dan usaha. Walau bagaimanapun, kelebihan dokumen yang diimbas juga membawa kepada kelemahan Kerana ia diimbas melalui peranti elektronik, apa yang keluar adalah imej Jika anda ingin memproses kandungan pada fail, operasi langsung tidak boleh dilakukan.
Bagaimana jika anda ingin memetik kandungannya? Jangan risau, Python akan membantu anda menyelesaikan masalah tersebut.
Terdapat imbasan pdf Kami ingin mengekstrak teks dan menulisnya ke dalam dokumen csv dalam tiga lajur:
pdfexample
csvexample
pdf imbasan ialah imbasan dokumen Ia ditukar kepada format gambar komputer, dan mengekstrak teks adalah sama dengan mengenal pasti teks dalam gambar. Oleh itu, tugas kami ialah menukar PDF kepada gambar, dan kemudian gunakan alat OCR untuk mengekstrak teks dalam gambar.
pip3 install pdf2image pytesseract
import os #处理文件 from pdf2image import convert_from_path# pdf转图片 import pytesseract# 识别图片文字 import csv# 处理csv文件
tess_ocr (pdf_path, lang, first_page, last_page)
Pisah fail pdf kepada gambar, dan ekstrak teks dan tulis ke dalam fail teks
def tess_ocr(pdf_path, lang,first_page,last_page): # 创建一个和pdf同名的文件夹 images = convert_from_path(pdf_path, fmt='png',first_page=first_page,last_page=last_page,output_folder=imagefolder,userpw='site')# 转成图片 text = '' for img in images: text += pytesseract.image_to_string(img, lang=lang) # 识别图片文字 with open(r'exampledata.txt' 'a', encoding='utf-8') as f: #写入txt文件 f.write(text)
Janakan folder dengan nama yang sama untuk menyimpan pemisahan Gambar, kemudian ekstrak teks gambar dan tulis ke dalam data.txt
imej-20211215212147760
“ Masalah melempar 1 :
pdf2image.exceptions.PDFInfoNotInstalledError: Tidak dapat mendapatkan kiraan halaman Adakah poppler dipasang dan dalam PATH ”
Penyelesaian: Muat turun poppler.
>1 Kaedah 1: Tetapkan poppler/bin pembolehubah persekitaran
>2 Kaedah 2:
Parameter menentukan laluan mutlak:
imej = convert_from_path( pdf_path=pdf_file_path, poppler_path=r'alamat fail bin dalam poppler')
" " Masalah melontarkan 2:
pytesseract.pytesseract.TesseractNotFoundError: atau itsseract tidak dipasang bukan dalam PATH anda . Lihat fail README untuk maklumat lanjut ”
Penyelesaian: muat turun dan pasang tesseract-ocr dan konfigurasikan pembolehubah persekitaran.
pengubahsuaian(fail dalam, fail luar)
Bersihkan dokumen teks yang dijana
intxt: alamat fail teks
outcsv: Fail csv yang baru dijana
def modification(infile, outfile): infp = open(infile, "r",encoding='utf-8') outfp = open(outfile, "w",encoding='utf-8') lines = infp.readlines() #返回列表,包含所有的行。 #依次读取每行 for li in lines: if li.split(): #str.split(str="", num=string.count(str)),过滤文件中的空行 # 根据识别情况对数据进行清洗 li = li.replace('[', ' ').replace(']', '') outfp.writelines(li) infp.close() outfp.close()
imej-20211215204846623
imej-20211215204941725
Melalui pembelajaran ini, kami telah menyedari keupayaan untuk mengekstrak teks daripada dokumen yang diimbas dan menulis kandungan ke dalam format yang berbeza mengikut keperluan dokumentasi.
Pada mulanya saya fikir perpustakaan untuk mengekstrak pdf juga sesuai untuk dokumen yang diimbas, jadi saya mencuba perpustakaan Pdfplumber dan perpustakaan PyPDF2.
Amalan mendapati bahawa Pdfplumber hanya boleh mengecam tera air dalam PDF yang diimbas dan tidak boleh digunakan pada PDF yang diimbas. Pustaka PyPDF2 menjalankan dan melaporkan ralat: NotImplementedError: hanya kod algoritma 1 dan 2 yang disokong.
Sebabnya ialah PDF yang disulitkan ini mungkin berasal daripada versi akrobot yang lebih tinggi, jadi kod algoritma penyulitan yang sepadan ialah '4' Namun, modul pypdf2 sedia ada hanya menyokong kod algoritma penyulitan '4' ' atau '2' fail pdf yang disulitkan.
Atas ialah kandungan terperinci Python merealisasikan pengecaman teks PD, pengekstrakan dan penulisan ke dalam perkongsian skrip fail CSV. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!