Ако искате да четете таблици директно от 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')
Няколко грешки, които да избягвате:
- Уверете се, че сте инсталирали 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.