Eine erstaunliche Python-Bibliothek zum Extrahieren von Tabellendaten aus PDF-Dateien

Inhalt

Einführung

Das PDF-Format oder tragbare Dokumentdatei ist heute eines der gebräuchlichsten Dateiformate. Es ist in allen Branchen weit verbreitet, wie in Behörden, medizinische Versorgung und sogar persönliche Arbeit. Während, Es gibt eine große Menge unstrukturierter Daten im PDF-Format und das Extrahieren dieser Daten, um aussagekräftige Informationen zu generieren, ist eine gängige Aufgabe von Data Scientists.

Es gibt mehrere Python-Bibliotheken für die Arbeit mit PDF-Dokumenten wie PYPDF2, etc. In diesem Tutorial, werde tragen .

untitled-design9-6875785

Warum Camelot?

  • Du hast die Kontrolle: im Gegensatz zu anderen Bibliotheken und Tools, die gute Ergebnisse liefern oder kläglich versagen (ohne Vermittler), Camelot gibt Ihnen die Möglichkeit, die Tabellenextraktion zu ändern. (Dies ist wichtig, da alles in der realen Welt, inklusive Extraktion von PDF-Tabellen, es ist verwirrend).
  • Ein bisschen Tabellen können basierend auf Metriken wie Genauigkeit und Leerzeichen gelöscht werden, ohne jede Tabelle manuell anschauen zu müssen.
  • Jede Tabelle ist ein Pandas DataFrame, das sich nahtlos in . integriert .
  • In mehrere Formate exportieren, einschließlich JSON, Excel, HTML und SQLite.

Lasst uns beginnen

Vor der Installation der Camelot-Bibliotheken müssen wir installieren , Sobald wir das Ghost-Skript installiert haben, lass uns installieren camelot-py.

Führen Sie die folgenden Befehle aus :

pip installieren "camelot-py[Lebenslauf]"

Sobald Sie die camelot-py-Bibliothek installiert haben, wir werden startklar sein. Wir versuchen, daraus eine landesweite GST-Einnahmetabelle zu extrahieren .

1ade_tu7csgbjclaqfe3caw-7747757

PDF-Tabelle

Camelot importieren

Wenn Sie Kamelot haben, Python gibt keine Fehlermeldung aus, wenn nicht, du wirst sehen ImportError.

# Syntax der Funktion camelot.read_pdf
Kamelot.read_pdf(
    Dateipfad,
    Seiten='1',
    Passwort=Keine,
    Geschmack='Gitter',
    unterdrücke_stdout=Falsch,
    layout_kwargs={},
    **Kwargs,
)

Wenn Sie eine Tabelle von verschiedenen Seiten extrahieren müssen, Sie müssen die Seitenzahl angeben.

table2=camelot.read_pdf('gst-revenue-collection-märz2020.pdf', Geschmack="Strom", Seiten="0-3")
Tabellen2

1svhisitx6pd_rz1vv_od6w-6774624

Dadurch erhalten Sie eine Gesamtliste der Tabelle, die in einem PDF-Dokument vorhanden ist. Wir können eine Tabelle auswählen, die den Index übergibt.

Tabellen2[2]  # 2 ist der Index 

1ijpye1zvesgawtkxnzrrng-7589702

Tabellen2[2].parsing_report

1umbobuvpdwehhzugkh41xq-4198103

Der obige Code liefert Ihnen Details wie Genauigkeit und Seitenzahl. Bitte beachten Sie, dass es 2 Seiten.

Der folgende Code extrahiert die Tabelle aus dem PDF-Dokument.

df2=tables2[2].df
df2  

1ow-af3lrrki2xotjsxj8na-9491633

Unter diesen Umständen, weil die Tabelle in zwei verschiedene Seiten unterteilt ist. Dann können wir eine Lösung finden.

Tabellen2[3]
Tabellen2[3].parsing_report

1aih7b20zs7pgpnbwq4wgjw-4244202

Hier kannst du es merken, Wir extrahieren die Tabelle von Seite Nr 3.

df3=Tabellen2[3].df
df3

17mwcha5yugncgfnvpyewsq-1232542

Das Folgende ist der Code zum Hinzufügen von df2 und df3.

df4=df2.anhängen(df3)
df4

1uvk-z-v_wvx89gzx4js9-g-2462588

df5 = df4[1:]
df5.head()
neuer_header = df5.iloc[0]df5 = df5[1:]df5.columns = new_header

1w9qmyubuz7yd5qiasdzyra-6186338

Hier hast du, wir haben eine tabelle aus pdf extrahiert, Jetzt können wir diese Daten in einem beliebigen Format auf das lokale System exportieren.

Fazit

Das Extrahieren von Tabellendaten aus PDF mit Hilfe der Camelot-Bibliothek ist wirklich einfach. Zur selben Zeit, wir wissen, dass es viele unstrukturierte Daten im PDF-Format gibt und, nach dem Extrahieren der Tabellen, Wir können viele Analysen und Visualisierungen basierend auf Ihren Geschäftsanforderungen durchführen.

Ich hoffe dieser Beitrag hilft dir und spart dir viel Zeit. Lass es mich wissen, wenn du Vorschläge hast.

GLÜCKLICHES CODIEREN.

Über den Autor

id_card1-7705849

Prabhat Kumar – Associate Analyst

Ich bin ein Ingenieur, der heute in den wichtigsten multinationalen Unternehmen als Associate Analyst und Innovationsbegeisterter arbeitet, Ich liebe es, neue Dinge zu lernen, Ich glaube, dass jede Information eine Geschichte hat und ich liebe es, die Geschichten zu lesen.

Prabhat Pathak () ist Associate Analyst.

Abonniere unseren Newsletter

Wir senden Ihnen keine SPAM-Mail. Wir hassen es genauso wie du.