cari
Rumahpembangunan bahagian belakangTutorial PythonBagaimana untuk menggunakan Python untuk NLP untuk memproses data jadual dalam fail PDF?

如何利用Python for NLP处理PDF文件中的表格数据?

Bagaimana untuk menggunakan Python untuk NLP untuk memproses data jadual dalam fail PDF?

Abstrak: Pemprosesan Bahasa Semulajadi (NLP) ialah bidang penting yang melibatkan sains komputer dan kecerdasan buatan, dan memproses data jadual dalam fail PDF adalah tugas biasa dalam NLP. Artikel ini akan memperkenalkan cara menggunakan Python dan beberapa perpustakaan yang biasa digunakan untuk memproses data jadual dalam fail PDF, termasuk mengekstrak data jadual, prapemprosesan data dan penukaran.

Kata kunci: Python, NLP, PDF, data jadual

1 Pengenalan

Dengan perkembangan teknologi, fail PDF telah menjadi dokumen biasa. format. Dalam fail PDF ini, data jadual digunakan secara meluas dalam pelbagai bidang, termasuk kewangan, penjagaan perubatan dan analisis data. Oleh itu, cara mengekstrak dan memproses data jadual ini daripada fail PDF telah menjadi isu popular.

Python ialah bahasa pengaturcaraan berkuasa yang menyediakan set perpustakaan dan alatan yang kaya untuk menyelesaikan pelbagai masalah. Dalam bidang NLP, Python mempunyai banyak perpustakaan yang sangat baik, seperti PDFMiner, Tabula, dan Pandas, dll. Perpustakaan ini boleh membantu kami memproses data jadual dalam fail PDF.

2. Pasang perpustakaan

Sebelum kita mula menggunakan Python untuk memproses data jadual dalam fail PDF, kita perlu memasang beberapa perpustakaan yang diperlukan. Kita boleh menggunakan pengurus pakej pip untuk memasang perpustakaan ini. Buka tetingkap terminal atau baris arahan dan masukkan arahan berikut:

pip install pdfminer.six
pip install tabula-py
pip install pandas

3. Ekstrak data jadual

Pertama, kita perlu mengekstrak data jadual dalam fail PDF. Kita boleh menggunakan perpustakaan PDFMiner untuk mencapai fungsi ini. Berikut ialah contoh kod yang menggunakan perpustakaan PDFMiner untuk mengekstrak data jadual:

import pdfminer
import io
from pdfminer.converter import TextConverter
from pdfminer.pdfinterp import PDFPageInterpreter
from pdfminer.pdfinterp import PDFResourceManager
from pdfminer.layout import LAParams
from pdfminer.pdfpage import PDFPage

def extract_text_from_pdf(pdf_path):
    resource_manager = PDFResourceManager()
    output_string = io.StringIO()
    laparams = LAParams()
    with TextConverter(resource_manager, output_string, laparams=laparams) as converter:
        with open(pdf_path, 'rb') as file:
            interpreter = PDFPageInterpreter(resource_manager, converter)
            for page in PDFPage.get_pages(file):
                interpreter.process_page(page)
    
    text = output_string.getvalue()
    output_string.close()
    return text

pdf_path = "example.pdf"
pdf_text = extract_text_from_pdf(pdf_path)
print(pdf_text)

Dalam contoh ini, kami mula-mula mencipta objek PDFResourceManager dan TextConverter kod >objek dan beberapa objek lain yang diperlukan. Kami kemudian membuka fail PDF dan menggunakan <code>PDFPageInterpreter untuk mentafsir halaman fail demi halaman. Akhir sekali, kami menyimpan data teks yang diekstrak dalam pembolehubah dan mengembalikannya. PDFResourceManager对象、一个TextConverter对象以及一些其他必要的对象。然后,我们打开PDF文件并使用PDFPageInterpreter逐页解释文件。最后,我们将提取的文本数据存储在一个变量中并返回。

四、数据预处理

在提取表格数据后,我们需要进行一些数据预处理,以便更好地处理这些数据。常见的预处理任务包括去除空格、清洗数据、处理缺失值等。这里我们使用Pandas库来进行数据预处理。

下面是一个使用Pandas库进行数据预处理的示例代码:

import pandas as pd

def preprocess_data(data):
    df = pd.DataFrame(data)
    df = df.applymap(lambda x: x.strip())
    df = df.dropna()
    df = df.reset_index(drop=True)
    
    return df

data = [
    ["Name", "Age", "Gender"],
    ["John", "25", "Male"],
    ["Lisa", "30", "Female"],
    ["Mike", "28", "Male"],
]

df = preprocess_data(data)
print(df)

在这个示例中,我们首先将提取的数据存储在一个二维列表中。然后,我们创建一个Pandas的DataFrame对象,并对其进行一系列预处理操作,包括去除空格、清洗数据、处理缺失值。最后,我们将预处理后的数据打印出来。

五、数据转换

在进行了数据预处理之后,我们可以将表格数据转换为其他常见的数据结构,如JSON、CSV或Excel。下面是一个使用Pandas库将数据转换为CSV文件的示例代码:

def convert_data_to_csv(df, csv_path):
    df.to_csv(csv_path, index=False)

csv_path = "output.csv"
convert_data_to_csv(df, csv_path)

在这个示例中,我们使用Pandas的to_csv()

4. Prapemprosesan data

Selepas mengekstrak data jadual, kami perlu melakukan beberapa prapemprosesan data untuk memproses data dengan lebih baik. Tugas prapemprosesan biasa termasuk mengalih keluar ruang, membersihkan data, mengendalikan nilai yang hilang, dsb. Di sini kami menggunakan perpustakaan Pandas untuk prapemprosesan data.

Berikut ialah kod sampel untuk prapemprosesan data menggunakan pustaka Pandas:

rrreee

Dalam contoh ini, kami mula-mula menyimpan data yang diekstrak dalam senarai dua dimensi. Kemudian, kami mencipta objek Pandas DataFrame dan melakukan satu siri operasi prapemprosesan padanya, termasuk mengalih keluar ruang, membersihkan data dan mengendalikan nilai yang hilang. Akhir sekali, kami mencetak data yang telah diproses.

5. Penukaran data
  1. Selepas prapemprosesan data, kami boleh menukar data jadual kepada struktur data biasa yang lain, seperti JSON, CSV atau Excel. Berikut ialah kod sampel yang menggunakan pustaka Pandas untuk menukar data kepada fail CSV: fail dan simpannya dalam laluan yang ditentukan.
  2. 6. Ringkasan
  3. Melalui pengenalan artikel ini, kami telah mempelajari cara menggunakan Python dan beberapa perpustakaan yang biasa digunakan untuk memproses data jadual dalam fail PDF. Kami mula-mula menggunakan perpustakaan PDFMiner untuk mengekstrak data teks dalam fail PDF, dan kemudian menggunakan pustaka Pandas untuk mempraproses dan mengubah data yang diekstrak.
  4. Sudah tentu, data jadual dalam fail PDF mungkin mempunyai struktur dan format yang berbeza, yang memerlukan kami membuat pelarasan dan pemprosesan yang sesuai mengikut situasi tertentu. Saya harap artikel ini telah memberi anda sedikit bantuan dan panduan dalam memproses data jadual dalam fail PDF.
Rujukan: #🎜🎜##🎜🎜##🎜🎜#https://realpython.com/pdf-python/#🎜🎜##🎜🎜#https://pandas.pydata . org/#🎜🎜##🎜🎜#https://pdfminer-docs.readthedocs.io/#🎜🎜##🎜🎜#https://tabula-py.readthedocs.io/#🎜🎜##🎜🎜 #

Atas ialah kandungan terperinci Bagaimana untuk menggunakan Python untuk NLP untuk memproses data jadual dalam fail PDF?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
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
Python dan Masa: Memanfaatkan masa belajar andaPython dan Masa: Memanfaatkan masa belajar andaApr 14, 2025 am 12:02 AM

Untuk memaksimumkan kecekapan pembelajaran Python dalam masa yang terhad, anda boleh menggunakan modul, masa, dan modul Python. 1. Modul DateTime digunakan untuk merakam dan merancang masa pembelajaran. 2. Modul Masa membantu menetapkan kajian dan masa rehat. 3. Modul Jadual secara automatik mengatur tugas pembelajaran mingguan.

Python: Permainan, GUI, dan banyak lagiPython: Permainan, GUI, dan banyak lagiApr 13, 2025 am 12:14 AM

Python cemerlang dalam permainan dan pembangunan GUI. 1) Pembangunan permainan menggunakan pygame, menyediakan lukisan, audio dan fungsi lain, yang sesuai untuk membuat permainan 2D. 2) Pembangunan GUI boleh memilih tkinter atau pyqt. TKInter adalah mudah dan mudah digunakan, PYQT mempunyai fungsi yang kaya dan sesuai untuk pembangunan profesional.

Python vs C: Aplikasi dan kes penggunaan dibandingkanPython vs C: Aplikasi dan kes penggunaan dibandingkanApr 12, 2025 am 12:01 AM

Python sesuai untuk sains data, pembangunan web dan tugas automasi, manakala C sesuai untuk pengaturcaraan sistem, pembangunan permainan dan sistem tertanam. Python terkenal dengan kesederhanaan dan ekosistem yang kuat, manakala C dikenali dengan keupayaan kawalan dan keupayaan kawalan yang mendasari.

Rancangan Python 2 jam: Pendekatan yang realistikRancangan Python 2 jam: Pendekatan yang realistikApr 11, 2025 am 12:04 AM

Anda boleh mempelajari konsep pengaturcaraan asas dan kemahiran Python dalam masa 2 jam. 1. Belajar Pembolehubah dan Jenis Data, 2.

Python: meneroka aplikasi utamanyaPython: meneroka aplikasi utamanyaApr 10, 2025 am 09:41 AM

Python digunakan secara meluas dalam bidang pembangunan web, sains data, pembelajaran mesin, automasi dan skrip. 1) Dalam pembangunan web, kerangka Django dan Flask memudahkan proses pembangunan. 2) Dalam bidang sains data dan pembelajaran mesin, numpy, panda, scikit-learn dan perpustakaan tensorflow memberikan sokongan yang kuat. 3) Dari segi automasi dan skrip, Python sesuai untuk tugas -tugas seperti ujian automatik dan pengurusan sistem.

Berapa banyak python yang boleh anda pelajari dalam 2 jam?Berapa banyak python yang boleh anda pelajari dalam 2 jam?Apr 09, 2025 pm 04:33 PM

Anda boleh mempelajari asas -asas Python dalam masa dua jam. 1. Belajar pembolehubah dan jenis data, 2. Struktur kawalan induk seperti jika pernyataan dan gelung, 3 memahami definisi dan penggunaan fungsi. Ini akan membantu anda mula menulis program python mudah.

Bagaimana Mengajar Asas Pengaturcaraan Pemula Komputer Dalam Kaedah Projek dan Masalah Dikemukakan Dalam masa 10 Jam?Bagaimana Mengajar Asas Pengaturcaraan Pemula Komputer Dalam Kaedah Projek dan Masalah Dikemukakan Dalam masa 10 Jam?Apr 02, 2025 am 07:18 AM

Bagaimana Mengajar Asas Pengaturcaraan Pemula Komputer Dalam masa 10 jam? Sekiranya anda hanya mempunyai 10 jam untuk mengajar pemula komputer beberapa pengetahuan pengaturcaraan, apa yang akan anda pilih untuk mengajar ...

Bagaimana untuk mengelakkan dikesan oleh penyemak imbas apabila menggunakan fiddler di mana-mana untuk membaca lelaki-dalam-tengah?Bagaimana untuk mengelakkan dikesan oleh penyemak imbas apabila menggunakan fiddler di mana-mana untuk membaca lelaki-dalam-tengah?Apr 02, 2025 am 07:15 AM

Cara mengelakkan dikesan semasa menggunakan fiddlerevery di mana untuk bacaan lelaki-dalam-pertengahan apabila anda menggunakan fiddlerevery di mana ...

See all articles

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

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
4 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
4 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
4 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

SecLists

SecLists

SecLists ialah rakan penguji keselamatan muktamad. Ia ialah koleksi pelbagai jenis senarai yang kerap digunakan semasa penilaian keselamatan, semuanya di satu tempat. SecLists membantu menjadikan ujian keselamatan lebih cekap dan produktif dengan menyediakan semua senarai yang mungkin diperlukan oleh penguji keselamatan dengan mudah. Jenis senarai termasuk nama pengguna, kata laluan, URL, muatan kabur, corak data sensitif, cangkerang web dan banyak lagi. Penguji hanya boleh menarik repositori ini ke mesin ujian baharu dan dia akan mempunyai akses kepada setiap jenis senarai yang dia perlukan.

Muat turun versi mac editor Atom

Muat turun versi mac editor Atom

Editor sumber terbuka yang paling popular

DVWA

DVWA

Damn Vulnerable Web App (DVWA) ialah aplikasi web PHP/MySQL yang sangat terdedah. Matlamat utamanya adalah untuk menjadi bantuan bagi profesional keselamatan untuk menguji kemahiran dan alatan mereka dalam persekitaran undang-undang, untuk membantu pembangun web lebih memahami proses mengamankan aplikasi web, dan untuk membantu guru/pelajar mengajar/belajar dalam persekitaran bilik darjah Aplikasi web keselamatan. Matlamat DVWA adalah untuk mempraktikkan beberapa kelemahan web yang paling biasa melalui antara muka yang mudah dan mudah, dengan pelbagai tahap kesukaran. Sila ambil perhatian bahawa perisian ini

mPDF

mPDF

mPDF ialah perpustakaan PHP yang boleh menjana fail PDF daripada HTML yang dikodkan UTF-8. Pengarang asal, Ian Back, menulis mPDF untuk mengeluarkan fail PDF "dengan cepat" dari tapak webnya dan mengendalikan bahasa yang berbeza. Ia lebih perlahan dan menghasilkan fail yang lebih besar apabila menggunakan fon Unicode daripada skrip asal seperti HTML2FPDF, tetapi menyokong gaya CSS dsb. dan mempunyai banyak peningkatan. Menyokong hampir semua bahasa, termasuk RTL (Arab dan Ibrani) dan CJK (Cina, Jepun dan Korea). Menyokong elemen peringkat blok bersarang (seperti P, DIV),

Penyesuai Pelayan SAP NetWeaver untuk Eclipse

Penyesuai Pelayan SAP NetWeaver untuk Eclipse

Integrasikan Eclipse dengan pelayan aplikasi SAP NetWeaver.