В этой статье вы узнаете, как очистить таблицы от файлов PDF до фрейма данных panda.

Получение таблиц из файлов PDF больше не является сложной задачей, вы можете сделать это, используя одну строку в Python.

Что вы узнаете

  1. Установка библиотеки tabula-py.
  2. Библиотека импорта.
  3. Чтение файла PDF.
  4. Чтение таблицы на определенной странице PDF-файла.
  5. Чтение нескольких таблиц на одной странице файла PDF.
  6. Преобразование файлов PDF напрямую в файл CSV.

Табула

Tabula - один из полезных пакетов, который не только позволяет очищать таблицы из файлов PDF, но также конвертировать файл PDF непосредственно в файл CSV.

Итак, приступим ...

1. Установите библиотеку tabula-py

pip install tabula-py

2. Импорт библиотеки таблиц

import tabula

3. Чтение файла PDF

давайте переместим этот PDF в фрейм данных pandas.

file1 = "https://nbviewer.jupyter.org/github/kuruvasatya/Scraping-Tables-from-PDF/blob/master/data1.pdf"
table = tabula.read_pdf(file1,pages=1)
table[0]

Взгляните на вывод приведенного выше фрагмента кода, выполненного в Google Colabs.

4. Чтение таблицы на определенной странице PDF-файла.

скажем, нам нужно выбросить этот ФАЙЛ PDF, который содержит несколько страниц.

file2 = "https://nbviewer.jupyter.org/github/kuruvasatya/Reading-Table-Data-From-PDF/blob/master/data.pdf"
# To read table in first page of PDF file
table1 = tabula.read_pdf(file2 ,pages=1)
# To read tables in secord page of PDF file
table2 = tabula.read_pdf(file2 ,pages=2)
print(table1[0])
print(table2[0])

5. Что делать, если на одной странице файла PDF есть несколько таблиц?

скажем, нам нужно очистить эти 2 таблицы, которые находятся на одной странице файла PDF.

To read multiple tables we need to add extra parameter
multiple_tables = True -> Read multiple tables as independent tables
multiple_tables = False -> Read multiple tables as single table

5.1. Читает несколько таблиц как независимые таблицы

file3 = "https://nbviewer.jupyter.org/github/kuruvasatya/Reading-Table-Data-From-PDF/blob/master/data3.pdf"
tables = tabula.read_pdf(file3 ,pages=1, multiple_tables=True)
print(tables[0])
print(tables[1])

5.2 Чтение нескольких таблиц как одной

tables = tabula.read_pdf(file3 ,pages=1,multiple_tables=False)
tables[0]

6. Преобразуйте PDF-файл напрямую в CSV-файл.

мы можем напрямую преобразовать файл PDF, содержащий табличные данные, непосредственно в файл CSV, используя метод convert_into () в библиотеке таблиц.

1. Преобразование таблиц на 1 странице файла PDF в CSV.

# output just the first page tables in the PDF to a CSV
tabula.convert_into("pdf_file_name", "Name_of_csv_file.csv")

2. Преобразование всей таблицы из файла PDF в CSV.

tabula.convert_into("pdf_file_name","Name_of_csv_file.csv",all = True)

Заключение

Надеюсь, вы узнали отличный способ очистки таблиц PDF-файлов с помощью одной строки в Python.

Просмотрите мои статьи по теме





Ссылка



Спасибо за чтение 😃 Хорошего дня