Ако искате да четете таблици директно от PDF файлове в pandas DataFrames, разгледайте tabula-py. Библиотеката на Python ви позволява да извличате таблици от PDF в множество формати, включително DataFrame, JSON, CSV и TSV.

По-долу ще намерите стъпките за настройка на вашата среда и урок за това как можете да използвате Python за извличане на таблици от PDF файлове, плюс! Пример от реалния свят.

Връзка към GitHub repo: https://lnkd.in/dkNYZ3QK

Пример

tabula-py ви позволява да извличате таблици от PDF в DataFrame или JSON. Може също така да извлича таблици от PDF и да запазва файла като CSV, TSV или JSON.

import tabula

# Read pdf into list of DataFrame
dfs = tabula.read_pdf("test.pdf", pages='all')

# Read remote pdf into list of DataFrame
dfs2 = tabula.read_pdf("https://github.com/tabulapdf/tabula-java/raw/master/src/test/resources/technology/tabula/arabic.pdf")

# convert PDF into CSV file
tabula.convert_into("test.pdf", "output.csv", output_format="csv", pages='all')

# convert all PDFs in a directory
tabula.convert_into_by_batch("input_directory", output_format='csv', pages='all')

Четене на всички страници на PDF

Ами ако искаме да прочетем всички страници на pdf? Е, всичко, което трябва да направите, е да предадете флага pages=’all’на Tabula, както следва:

dfs = tabula.read_pdf("test.pdf", pages='all')

Няколко грешки, които да избягвате:

  1. Уверете се, че сте инсталирали tabula-py, а не само tabula use
!pip install tabula-py
#and to import it use
from tabula.io import read_pdf

2. Ако случайно сте инсталирали tabula, преди да инсталирате tabula-py, те ще са в конфликт в пространството от имена (дори след деинсталиране на tabula). Деинсталирайте tabula-py и го инсталирайте отново.

Доста лесно, нали? Всъщност има доста различни команди, които можете да предадете на Tabula, за да я ускорите или дори да предоставите конкретни X-Y координати за извличане.

Това е доста страхотна библиотека! Свържете се с мен, ако се интересувате от дълбоко гмуркане в самата Tabula.