Extrahera PDF-tabeller i Python

I den här artikeln kommer du att lära dig hur du extraherar tabeller från PDF-filer med Python. PDF är ett populärt format för att dela data, men att extrahera tabeller från en PDF kan vara en utmanande uppgift. Det finns flera Python-bibliotek tillgängliga som kan hjälpa oss med denna uppgift. Ändå kan noggrann utvinning av data saknas.

Så låt oss ta reda på hur man extraherar tabelldata från PDF med hög noggrannhet inom några rader kod. I slutet av denna handledning kommer du att kunna extrahera tabeller från PDF-filer med Python och manipulera dem efter behov.

Python Library för att extrahera tabeller från PDF

För att extrahera data från tabellerna i PDF-filer kommer vi att använda Aspose.PDF for Python. Det är ett kraftfullt Python-bibliotek med en massa funktioner för PDF-bearbetning och manipulation. Du kan installera Aspose.PDF för Python med följande pip-kommando.

pip install aspose-pdf

Extrahera en tabell från PDF i Python

Följande är stegen för att extrahera data från tabeller i en PDF med Python.

  • Ladda PDF-filen med klassen Document.
  • Få referens till sidan i PDF där tabellen finns.
  • Initiera TableAbsorber-objektet och besök den valda sidan med metoden TableAbsorber.visit(Page).
  • I en loop, iterera genom listan över tabellerna i TableAbsorber.tablelist-samlingen.
  • För varje tabell, iterera genom samlingen av rader i AbsorbedTable.rowlist.
  • För varje absorberad rad, iterera genom samlingen av celler i AbsorbedRow.celllist.
  • Slutligen, gå igenom textfragmentsamlingen för varje absorberad cell och skriv ut texten.

Följande kodexempel visar hur man extraherar text från PDF-tabellen i Python.

import aspose.pdf as pdf

# Ladda PDF-fil
pdfDocument = pdf.Document("input.pdf")

# Initiera TableAbsorber-objekt
tableAbsorber =  pdf.text.TableAbsorber()

# Analysera alla tabeller på första sidan
tableAbsorber.visit(pdfDocument.pages[1])

# Få en referens till den första tabellen
absorbedTable = tableAbsorber.table_list[0]

# Iterera genom alla rader i tabellen
for pdfTableRow in absorbedTable.row_list:
    
    # Iterera genom alla kolumner i raden
   for pdfTableCell in pdfTableRow.cell_list:
        
        # Hämta textfragmenten
        textFragmentCollection = pdfTableCell.text_fragments
        
        # Iterera genom textfragmenten
       for textFragment in textFragmentCollection:
            
            # Skriv ut texten
            print(textFragment.text)
            

Onlineverktyg för att extrahera PDF-tabeller

Du kan också prova vårt kostnadsfria onlineverktyg, PDF-tabellextraktor, för att extrahera tabeller från PDF-filer, som är baserat på Aspose.PDF för Python.

Använd Python PDF Library gratis

Du kan få en gratis temporär licens och extrahera data från tabeller i PDF-filer utan några begränsningar.

Utforska Python PDF-bibliotek

Du kan utforska mer om Python PDF-biblioteket med hjälp av dokumentationen. Du kan också lägga upp dina frågor på vårt forum.

Slutsats

I den här artikeln har du lärt dig hur du extraherar data från tabeller i en PDF med Python. Du kan använda samma kod med små modifieringar för att extrahera tabeller från alla sidor i en PDF. På samma sätt kan du extrahera data från alla tabeller eller en viss tabell på en sida. Installera bara Aspose.PDF för Python i din applikation och upplev ett snabbt och enkelt sätt att extrahera tabelldata från PDF-filer.

Se även