Extrahujte tabulky PDF v Python

V tomto článku se dozvíte, jak extrahovat tabulky ze souborů PDF pomocí Python. PDF je oblíbený formát pro sdílení dat, avšak extrahování tabulek z PDF může být náročný úkol. Existuje několik knihoven Python, které nám mohou pomoci s tímto úkolem. Přesto může chybět přesná extrakce dat.

Pojďme tedy zjistit, jak extrahovat tabulková data z PDF s vysokou přesností během několika řádků kódu. Na konci tohoto tutoriálu budete schopni extrahovat tabulky ze souborů PDF pomocí Python a manipulovat s nimi podle potřeby.

Knihovna Python pro extrahování tabulek z PDF

K extrahování dat z tabulek v souborech PDF použijeme Aspose.PDF for Python. Je to výkonná Python knihovna se spoustou funkcí pro zpracování a manipulaci s PDF. Aspose.PDF for Python můžete nainstalovat pomocí následujícího příkazu pip.

pip install aspose-pdf

Extrahujte tabulku z PDF v Python

Následují kroky k extrahování dat z tabulek v PDF pomocí Python.

  • Načtěte soubor PDF pomocí třídy Document.
  • Získejte odkaz na stránku v PDF, kde je umístěna tabulka.
  • Inicializujte objekt TableAbsorber a navštivte vybranou stránku pomocí metody TableAbsorber.visit(Page).
  • Ve smyčce procházejte seznam tabulek v kolekci TableAbsorber.tablelist.
  • Pro každou tabulku iterujte kolekci řádků v AbsorbedTable.rowlist.
  • Pro každý absorbovaný řádek iterujte kolekci buněk v AbsorbedRow.celllist.
  • Nakonec projděte kolekci textových fragmentů každé absorbované buňky a vytiskněte text.

Následující ukázka kódu ukazuje, jak extrahovat text z tabulky PDF v Python.

import aspose.pdf as pdf

# Načíst soubor PDF
pdfDocument = pdf.Document("input.pdf")

# Inicializujte objekt TableAbsorber
tableAbsorber =  pdf.text.TableAbsorber()

# Analyzujte všechny tabulky na první stránce
tableAbsorber.visit(pdfDocument.pages[1])

# Získejte odkaz na první tabulku
absorbedTable = tableAbsorber.table_list[0]

# Projděte všechny řádky v tabulce
for pdfTableRow in absorbedTable.row_list:
    
    # Iterujte všechny sloupce v řádku
   for pdfTableCell in pdfTableRow.cell_list:
        
        # Získejte fragmenty textu
        textFragmentCollection = pdfTableCell.text_fragments
        
        # Procházejte fragmenty textu
       for textFragment in textFragmentCollection:
            
            # Vytiskněte text
            print(textFragment.text)
            

Online nástroj pro extrahování tabulek PDF

Můžete také vyzkoušet náš bezplatný online nástroj, PDF table extractor, k extrahování tabulek ze souborů PDF, který je založen na Aspose.PDF for Python.

Používejte Python PDF Library zdarma

Můžete získat bezplatnou dočasnou licenci a extrahovat data z tabulek v souborech PDF bez jakýchkoli omezení.

Prozkoumejte Python PDF Library

Více o knihovně Python PDF můžete prozkoumat pomocí dokumentace. Své dotazy můžete také zveřejňovat na našem fóru.

Závěr

V tomto článku jste se naučili, jak extrahovat data z tabulek v PDF pomocí Python. Stejný kód s malými úpravami můžete použít k extrahování tabulek ze všech stránek v PDF. Podobně můžete extrahovat data ze všech tabulek nebo konkrétní tabulky na stránce. Jednoduše si do své aplikace nainstalujte Aspose.PDF for Python a zažijte rychlý a snadný způsob extrahování tabulkových dat ze souborů PDF.

Viz také