


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
1. Kata Pengantar
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.
2. Penerangan Keperluan
Terdapat imbasan pdf Kami ingin mengekstrak teks dan menulisnya ke dalam dokumen csv dalam tiga lajur:
pdfexample
csvexample
3 Mula menggunakan tangan dan otak anda
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.
3.1 Pasang pakej pihak ketiga yang berkaitan
pip3 install pdf2image pytesseract
3.2 Import perpustakaan pihak ketiga yang diperlukan
import os #处理文件 from pdf2image import convert_from_path# pdf转图片 import pytesseract# 识别图片文字 import csv# 处理csv文件
3.3 Baca fail pdf dan kenal pasti kandungan
tess_ocr (pdf_path, lang, first_page, last_page)
Pisah fail pdf kepada gambar, dan ekstrak teks dan tulis ke dalam fail teks
- pdf_path: Laluan storan pdf fail
- imej: Senarai imej PIL yang mewakili setiap halaman dokumen PDF
- first_page: membenarkan menetapkan halaman pertama diproses oleh pdftoppm
- last_page: membenarkan menetapkan yang terakhir halaman diproses oleh pdftoppm
- fmt: membenarkan menentukan format output. Format yang disokong pada masa ini ialah jpg, png dan ppm;
- output_folder: laluan penjimatan imej
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)
Menjalankan hasil
Janakan folder dengan nama yang sama untuk menyimpan pemisahan Gambar, kemudian ekstrak teks gambar dan tulis ke dalam data.txt
imej-20211215212147760
Masalah berjalan
“ 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.
3.4 Proses data yang dikenal pasti dan tuliskannya ke dalam fail csv
pengubahsuaian(fail dalam, fail luar)
Bersihkan dokumen teks yang dijana
- infile: Alamat fail yang perlu diproses
- outfile: Alamat fail baharu yang dijana selepas memproses Fail txt baharu, fail baharu memadamkan baris kosong dalam data.txt , dan menggantikan kandungan yang dikenal pasti secara salah dalam fail asal dengan yang betul.
writercsv(intxt,outcsv)
Tulis fail teks ke dalam jadual csv mengikut ruangintxt: alamat fail teks
outcsv: Fail csv yang baru dijana
- Hasil berjalan
- menjana fail csv tiga lajur, lajur pertama ialah nama Inggeris dan lajur kedua ialah bahasa Cina nama , lajur ketiga ialah negara
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
Ringkasan
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!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas





PHP terutamanya pengaturcaraan prosedur, tetapi juga menyokong pengaturcaraan berorientasikan objek (OOP); Python menyokong pelbagai paradigma, termasuk pengaturcaraan OOP, fungsional dan prosedur. PHP sesuai untuk pembangunan web, dan Python sesuai untuk pelbagai aplikasi seperti analisis data dan pembelajaran mesin.

PHP sesuai untuk pembangunan web dan prototaip pesat, dan Python sesuai untuk sains data dan pembelajaran mesin. 1.Php digunakan untuk pembangunan web dinamik, dengan sintaks mudah dan sesuai untuk pembangunan pesat. 2. Python mempunyai sintaks ringkas, sesuai untuk pelbagai bidang, dan mempunyai ekosistem perpustakaan yang kuat.

Kod VS boleh digunakan untuk menulis Python dan menyediakan banyak ciri yang menjadikannya alat yang ideal untuk membangunkan aplikasi python. Ia membolehkan pengguna untuk: memasang sambungan python untuk mendapatkan fungsi seperti penyempurnaan kod, penonjolan sintaks, dan debugging. Gunakan debugger untuk mengesan kod langkah demi langkah, cari dan selesaikan kesilapan. Mengintegrasikan Git untuk Kawalan Versi. Gunakan alat pemformatan kod untuk mengekalkan konsistensi kod. Gunakan alat linting untuk melihat masalah yang berpotensi lebih awal.

Kod VS boleh dijalankan pada Windows 8, tetapi pengalaman mungkin tidak hebat. Mula -mula pastikan sistem telah dikemas kini ke patch terkini, kemudian muat turun pakej pemasangan kod VS yang sepadan dengan seni bina sistem dan pasangnya seperti yang diminta. Selepas pemasangan, sedar bahawa beberapa sambungan mungkin tidak sesuai dengan Windows 8 dan perlu mencari sambungan alternatif atau menggunakan sistem Windows yang lebih baru dalam mesin maya. Pasang sambungan yang diperlukan untuk memeriksa sama ada ia berfungsi dengan betul. Walaupun kod VS boleh dilaksanakan pada Windows 8, disyorkan untuk menaik taraf ke sistem Windows yang lebih baru untuk pengalaman dan keselamatan pembangunan yang lebih baik.

Sambungan kod VS menimbulkan risiko yang berniat jahat, seperti menyembunyikan kod jahat, mengeksploitasi kelemahan, dan melancap sebagai sambungan yang sah. Kaedah untuk mengenal pasti sambungan yang berniat jahat termasuk: memeriksa penerbit, membaca komen, memeriksa kod, dan memasang dengan berhati -hati. Langkah -langkah keselamatan juga termasuk: kesedaran keselamatan, tabiat yang baik, kemas kini tetap dan perisian antivirus.

Python lebih sesuai untuk pemula, dengan lengkung pembelajaran yang lancar dan sintaks ringkas; JavaScript sesuai untuk pembangunan front-end, dengan lengkung pembelajaran yang curam dan sintaks yang fleksibel. 1. Sintaks Python adalah intuitif dan sesuai untuk sains data dan pembangunan back-end. 2. JavaScript adalah fleksibel dan digunakan secara meluas dalam pengaturcaraan depan dan pelayan.

PHP berasal pada tahun 1994 dan dibangunkan oleh Rasmuslerdorf. Ia pada asalnya digunakan untuk mengesan pelawat laman web dan secara beransur-ansur berkembang menjadi bahasa skrip sisi pelayan dan digunakan secara meluas dalam pembangunan web. Python telah dibangunkan oleh Guidovan Rossum pada akhir 1980 -an dan pertama kali dikeluarkan pada tahun 1991. Ia menekankan kebolehbacaan dan kesederhanaan kod, dan sesuai untuk pengkomputeran saintifik, analisis data dan bidang lain.

Dalam kod VS, anda boleh menjalankan program di terminal melalui langkah -langkah berikut: Sediakan kod dan buka terminal bersepadu untuk memastikan bahawa direktori kod selaras dengan direktori kerja terminal. Pilih arahan Run mengikut bahasa pengaturcaraan (seperti python python your_file_name.py) untuk memeriksa sama ada ia berjalan dengan jayanya dan menyelesaikan kesilapan. Gunakan debugger untuk meningkatkan kecekapan debug.
