Dieses Python-Skript verwendet die Bibliotheken tabula-py
und pandas
um eine PDF-Datei in eine Excel-Datei zu konvertieren. Jede Tabelle in der PDF-Datei wird in ein separates Blatt in der Excel-Datei geschrieben.
Dieses Repository ist für die Verwendung von GitHub Codespaces konfiguriert, das eine vollständige, konfigurierbare Entwicklungsumgebung in der Cloud bereitstellt. So verwenden Sie es:
Klicken Sie oben im Repository auf die Schaltfläche „In Codespaces öffnen“ und dann auf die grüne Schaltfläche „Codespace erstellen“. Dadurch wird das Repository in einem neuen Codespace geöffnet.
Warten Sie, bis der Codespace erstellt wurde. GitHub erstellt einen neuen Codespace für dieses Repository und richtet ihn entsprechend der Datei devcontainer.json
ein. Dazu gehört das Abrufen des angegebenen Docker-Images, das Ausführen von postCreateCommand
zum Installieren von tabula-py
und pandas
sowie das Installieren der angegebenen VS-Code-Erweiterungen. Dieser Vorgang kann einige Minuten dauern.
Fügen Sie Ihre PDF-Datei hinzu. Sobald der Codespace fertig ist, fügen Sie Ihre PDF-Datei zum Repository hinzu. Sie können dies tun, indem Sie die Datei per Drag & Drop in den Datei-Explorer auf der linken Seite des Bildschirms ziehen.
Fügen Sie Ihre leere Excel-Datei hinzu. Fügen Sie dem Repository eine leere Excel-Datei hinzu. Sie können dies tun, indem Sie mit der rechten Maustaste auf den Datei-Explorer klicken und „Neue Datei“ auswählen. Benennen Sie die Datei mit der Erweiterung .xlsx
.
Führen Sie das Python-Skript aus. Sobald der Codespace bereit ist, führen Sie den folgenden Befehl im Terminal aus:
Python pdf_to_excel.py
Das Skript definiert eine Funktion pdf_to_excel(pdf_file_path, excel_file_path)
, die eine PDF-Datei liest und ihre Tabellen in eine Excel-Datei schreibt.
So können Sie diese Funktion nutzen:
pdf_to_excel('path_to_pdf_file.pdf', 'path_to_excel_file.xlsx')
Ersetzen Sie path_to_pdf_file.pdf
durch den Pfad zu der PDF-Datei, die Sie konvertieren möchten, und ersetzen Sie „path_to_excel_file.xlsx“ durch den Pfad, in dem Sie die Excel-Datei speichern möchten.
tabula-py
: Ein einfacher Wrapper für Tabula, der Tabellen in einem PDF lesen kann.
pandas
: Eine leistungsstarke Datenmanipulationsbibliothek.
Sie können diese Abhängigkeiten mit pip installieren:
pip3 tabula-py pandas installieren
Die Funktion tabula.read_pdf
liest die PDF-Datei und gibt eine Liste von Tabellen zurück. Jede Tabelle ist ein Pandas-DataFrame.
Zum Schreiben in die Excel-Datei wird der Kontextmanager pd.ExcelWriter
verwendet.
Im Kontextmanager durchläuft eine for-Schleife die Liste der Tabellen. Jede Tabelle wird mit der von der Pandas-Bibliothek bereitgestellten Methode DataFrame.to_excel
in ein separates Blatt in der Excel-Datei geschrieben.