Jadual Kandungan
1. Kata Pengantar
2. Penerangan Keperluan
3 Mula menggunakan tangan dan otak anda
3.1 Pasang pakej pihak ketiga yang berkaitan
3.2 Import perpustakaan pihak ketiga yang diperlukan
3.3 Baca fail pdf dan kenal pasti kandungan
Menjalankan hasil
Masalah berjalan
3.4 Proses data yang dikenal pasti dan tuliskannya ke dalam fail csv
writercsv(intxt,outcsv)
Ringkasan
Rumah pembangunan bahagian belakang Tutorial Python Python merealisasikan pengecaman teks PD, pengekstrakan dan penulisan ke dalam perkongsian skrip fail CSV

Python merealisasikan pengecaman teks PD, pengekstrakan dan penulisan ke dalam perkongsian skrip fail CSV

May 17, 2023 pm 07:40 PM
python Skrip csv

Python 实现 PD 文字识别、提取并写入 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:

Python 实现 PD 文字识别、提取并写入 CSV 文件脚本分享

pdfexample

Python 实现 PD 文字识别、提取并写入 CSV 文件脚本分享

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
Salin selepas log masuk

3.2 Import perpustakaan pihak ketiga yang diperlukan

import os #处理文件
from pdf2image import convert_from_path# pdf转图片
import pytesseract# 识别图片文字
import csv# 处理csv文件
Salin selepas log masuk

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)
Salin selepas log masuk

Menjalankan hasil

Janakan folder dengan nama yang sama untuk menyimpan pemisahan Gambar, kemudian ekstrak teks gambar dan tulis ke dalam data.txt

Python 实现 PD 文字识别、提取并写入 CSV 文件脚本分享

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 ruang

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()
    
    
    
    
    Salin selepas log masuk
  • Hasil berjalan
  • menjana fail csv tiga lajur, lajur pertama ialah nama Inggeris dan lajur kedua ialah bahasa Cina nama , lajur ketiga ialah negara
  • imej-20211215204846623

    Python 实现 PD 文字识别、提取并写入 CSV 文件脚本分享

    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!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

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

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

PHP dan Python: Paradigma yang berbeza dijelaskan PHP dan Python: Paradigma yang berbeza dijelaskan Apr 18, 2025 am 12:26 AM

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.

Memilih antara php dan python: panduan Memilih antara php dan python: panduan Apr 18, 2025 am 12:24 AM

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.

Bolehkah kod studio visual digunakan dalam python Bolehkah kod studio visual digunakan dalam python Apr 15, 2025 pm 08:18 PM

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.

Boleh kod vs dijalankan di Windows 8 Boleh kod vs dijalankan di Windows 8 Apr 15, 2025 pm 07:24 PM

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.

Adakah sambungan vscode berniat jahat? Adakah sambungan vscode berniat jahat? Apr 15, 2025 pm 07:57 PM

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 vs JavaScript: Keluk Pembelajaran dan Kemudahan Penggunaan Python vs JavaScript: Keluk Pembelajaran dan Kemudahan Penggunaan Apr 16, 2025 am 12:12 AM

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 dan Python: menyelam mendalam ke dalam sejarah mereka PHP dan Python: menyelam mendalam ke dalam sejarah mereka Apr 18, 2025 am 12:25 AM

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.

Cara menjalankan program di terminal vscode Cara menjalankan program di terminal vscode Apr 15, 2025 pm 06:42 PM

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.

See all articles