Heim  >  Artikel  >  Backend-Entwicklung  >  Wie verwende ich Python für NLP, um Tabellendaten in PDF-Dateien zu verarbeiten?

Wie verwende ich Python für NLP, um Tabellendaten in PDF-Dateien zu verarbeiten?

PHPz
PHPzOriginal
2023-09-27 15:04:47816Durchsuche

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

Wie verwende ich Python für NLP, um Tabellendaten in PDF-Dateien zu verarbeiten?

Zusammenfassung: Die Verarbeitung natürlicher Sprache (NLP) ist ein wichtiger Bereich der Informatik und künstlichen Intelligenz, und die Verarbeitung tabellarischer Daten in PDF-Dateien ist eine häufige Aufgabe im NLP. In diesem Artikel wird erläutert, wie Sie mit Python und einigen häufig verwendeten Bibliotheken Tabellendaten in PDF-Dateien verarbeiten, einschließlich der Extraktion von Tabellendaten, der Datenvorverarbeitung und -konvertierung.

Schlüsselwörter: Python, NLP, PDF, tabellarische Daten

1. Einführung

Mit der Entwicklung der Technologie sind PDF-Dateien zu einem gängigen Dokumentformat geworden. In diesen PDF-Dateien werden tabellarische Daten häufig in verschiedenen Bereichen verwendet, darunter Finanzen, medizinische Versorgung und Datenanalyse. Daher ist die Frage, wie man diese tabellarischen Daten aus PDF-Dateien extrahiert und verarbeitet, zu einem beliebten Thema geworden.

Python ist eine leistungsstarke Programmiersprache, die umfangreiche Bibliotheken und Tools zur Lösung verschiedener Probleme bereitstellt. Im Bereich NLP verfügt Python über viele hervorragende Bibliotheken wie PDFMiner, Tabula und Pandas usw. Diese Bibliotheken können uns bei der Verarbeitung tabellarischer Daten in PDF-Dateien helfen.

2. Bibliotheken installieren

Bevor wir Python zur Verarbeitung tabellarischer Daten in PDF-Dateien verwenden, müssen wir einige notwendige Bibliotheken installieren. Wir können den Pip-Paketmanager verwenden, um diese Bibliotheken zu installieren. Öffnen Sie ein Terminal- oder Befehlszeilenfenster und geben Sie den folgenden Befehl ein:

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

3. Tabellendaten extrahieren

Zuerst müssen wir die Tabellendaten in der PDF-Datei extrahieren. Wir können die PDFMiner-Bibliothek verwenden, um diese Funktionalität zu erreichen. Hier ist ein Beispielcode zum Extrahieren von Tabellendaten mithilfe der PDFMiner-Bibliothek:

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)

In diesem Beispiel erstellen wir zunächst ein PDFResourceManager-Objekt, ein TextConverter-Objekt und einige andere notwendige Objekte . Anschließend öffnen wir die PDF-Datei und verwenden PDFPageInterpreter, um die Datei Seite für Seite zu interpretieren. Schließlich speichern wir die extrahierten Textdaten in einer Variablen und geben sie zurück. 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. Datenvorverarbeitung

Nach dem Extrahieren der Tabellendaten müssen wir eine Datenvorverarbeitung durchführen, um die Daten besser verarbeiten zu können. Zu den üblichen Vorverarbeitungsaufgaben gehören das Entfernen von Leerzeichen, das Bereinigen von Daten, die Behandlung fehlender Werte usw. Hier verwenden wir die Pandas-Bibliothek zur Datenvorverarbeitung.

Hier ist ein Beispielcode für die Datenvorverarbeitung mithilfe der Pandas-Bibliothek:

rrreee

In diesem Beispiel speichern wir die extrahierten Daten zunächst in einer zweidimensionalen Liste. Anschließend erstellen wir ein Pandas DataFrame-Objekt und führen eine Reihe von Vorverarbeitungsvorgängen daran durch, darunter das Entfernen von Leerzeichen, das Bereinigen von Daten und die Behandlung fehlender Werte. Abschließend drucken wir die vorverarbeiteten Daten aus.

5. Datenkonvertierung
  1. Nach der Datenvorverarbeitung können wir tabellarische Daten in andere gängige Datenstrukturen wie JSON, CSV oder Excel konvertieren. Hier ist ein Beispielcode zum Konvertieren von Daten in eine CSV-Datei mithilfe der Pandas-Bibliothek:
  2. rrreee
  3. In diesem Beispiel verwenden wir die Funktion to_csv() von Pandas, um die Daten in eine CSV-Datei zu konvertieren und dort zu speichern den angegebenen Pfad.
  4. 6. Zusammenfassung
  5. Durch die Einleitung dieses Artikels haben wir gelernt, wie man Python und einige häufig verwendete Bibliotheken verwendet, um Tabellendaten in PDF-Dateien zu verarbeiten. Wir verwenden zunächst die PDFMiner-Bibliothek, um Textdaten in PDF-Dateien zu extrahieren, und verwenden dann die Pandas-Bibliothek, um die extrahierten Daten vorzuverarbeiten und umzuwandeln.
Natürlich können die tabellarischen Daten in PDF-Dateien unterschiedliche Strukturen und Formate haben, was eine entsprechende Anpassung und Aufbereitung je nach Situation durch uns erfordert. Ich hoffe, dieser Artikel hat Ihnen etwas Hilfe und Anleitung bei der Verarbeitung tabellarischer Daten in PDF-Dateien gegeben. 🎜🎜Referenzen: 🎜🎜🎜https://realpython.com/pdf-python/🎜🎜https://pandas.pydata.org/🎜🎜https://pdfminer-docs.readthedocs.io/🎜🎜https: / /tabula-py.readthedocs.io/🎜🎜

Das obige ist der detaillierte Inhalt vonWie verwende ich Python für NLP, um Tabellendaten in PDF-Dateien zu verarbeiten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn