Wyodrębnij tabele PDF w Python

W tym artykule dowiesz się, jak wyodrębnić tabele z plików PDF za pomocą Python. PDF to popularny format udostępniania danych, jednak wyodrębnianie tabel z pliku PDF może być trudnym zadaniem. Dostępnych jest kilka bibliotek Python, które mogą nam pomóc w tym zadaniu. Nadal może brakować dokładnej ekstrakcji danych.

Dowiedzmy się więc, jak wyodrębnić dane tabelaryczne z pliku PDF z dużą dokładnością w kilku wierszach kodu. Pod koniec tego samouczka będziesz w stanie wyodrębnić tabele z plików PDF za pomocą Python i manipulować nimi w razie potrzeby.

Biblioteka Python do wyodrębniania tabel z PDF

Do wyodrębnienia danych z tabel w plikach PDF użyjemy Aspose.PDF for Python. Jest to potężna biblioteka Python z wieloma funkcjami do przetwarzania i manipulowania plikami PDF. Możesz zainstalować Aspose.PDF dla języka Python za pomocą następującego polecenia pip.

pip install aspose-pdf

Wyodrębnij tabelę z pliku PDF w Python

Poniżej przedstawiono kroki, aby wyodrębnić dane z tabel w pliku PDF za pomocą języka Python.

  • Załaduj plik PDF przy użyciu klasy Document.
  • Uzyskaj odniesienie do strony w formacie PDF, na której znajduje się tabela.
  • Zainicjuj obiekt TableAbsorber i odwiedź wybraną stronę za pomocą metody TableAbsorber.visit(Page).
  • W pętli przejrzyj listę tabel w kolekcji TableAbsorber.tablelist.
  • Dla każdej tabeli wykonaj iterację w kolekcji wierszy w pliku AbsorbedTable.rowlist.
  • Dla każdego wchłoniętego wiersza wykonaj iterację w kolekcji komórek w pliku AbsorbedRow.celllist.
  • Na koniec przejrzyj kolekcję fragmentów tekstu każdej wchłoniętej komórki i wydrukuj tekst.

Poniższy przykładowy kod pokazuje, jak wyodrębnić tekst z tabeli PDF w języku Python.

import aspose.pdf as pdf

# Załaduj plik PDF
pdfDocument = pdf.Document("input.pdf")

# Zainicjuj obiekt TableAbsorber
tableAbsorber =  pdf.text.TableAbsorber()

# Przeanalizuj wszystkie tabele na pierwszej stronie
tableAbsorber.visit(pdfDocument.pages[1])

# Uzyskaj odwołanie do pierwszej tabeli
absorbedTable = tableAbsorber.table_list[0]

# Iteruj przez wszystkie wiersze w tabeli
for pdfTableRow in absorbedTable.row_list:
    
    # Iteruj przez wszystkie kolumny w wierszu
   for pdfTableCell in pdfTableRow.cell_list:
        
        # Pobierz fragmenty tekstu
        textFragmentCollection = pdfTableCell.text_fragments
        
        # Iteruj po fragmentach tekstu
       for textFragment in textFragmentCollection:
            
            # Wydrukuj tekst
            print(textFragment.text)
            

Narzędzie online do wyodrębniania tabel PDF

Możesz także wypróbować nasze bezpłatne narzędzie online, PDF table extractor, aby wyodrębnić tabele z plików PDF, które jest oparte na Aspose.PDF for Python.

Korzystaj bezpłatnie z biblioteki Python PDF

Możesz uzyskać darmową tymczasową licencję i bez ograniczeń wyodrębniać dane z tabel w plikach PDF.

Przeglądaj bibliotekę PDF w języku Python

Możesz dowiedzieć się więcej o bibliotece PDF w Python, korzystając z dokumentacji. Możesz także zamieścić swoje pytania na naszym forum.

Wniosek

W tym artykule nauczyłeś się, jak wyodrębniać dane z tabel w pliku PDF za pomocą Python. Możesz użyć tego samego kodu z niewielkimi modyfikacjami, aby wyodrębnić tabele ze wszystkich stron w pliku PDF. Podobnie możesz wyodrębnić dane ze wszystkich tabel lub określonej tabeli na stronie. Po prostu zainstaluj Aspose.PDF for Python w swojej aplikacji i poznaj szybki i łatwy sposób wydobywania danych tabelarycznych z plików PDF.

Zobacz też