🤔Как извлечь таблицы из PDF? Попробуй Camelot!
Open-source библиотека Camelot помогает извлекать таблицы из PDF-файлов. Перед ее установкой нужно поставить библиотеки Tkinter и Ghostscript. Установить эти библиотеки можно через менеджеры пакетов pip или conda:
pip install camelot-py
conda install -c conda-forge camelot-py
Далее нужно, как обычно, импортировать нужный модуль из библиотеки, чтобы использовать его методы:
import Camelot
tables = camelot.read_pdf('foo.pdf', pages='1', flavor='lattice')
Параметр flavor по умолчанию настроен на решетку (lattice), но его можно перенастроить на поток (stream). Решетка более детерминирована по своей природе и отлично подходит для анализа таблиц, где есть разграничительные линии между ячейками. Это позволяет автоматически анализировать несколько таблиц, присутствующих на странице. Решетка преобразует страницу PDF в изображение с помощью библиотеки ghostscript, а затем обрабатывает его, чтобы получить горизонтальные и вертикальные линейные сегменты, применяя набор морфологических преобразований с помощью OpenCV.
Для извлечения таблицы из PDF используется метод export(), чтобы затем распечатать ее как датафрейм или экспортировать в файл CSV:
tables.export('foo.csv', f='csv', compress=True)
tables[0].to_csv('foo.csv') # to a csv file
print(tables[0].df) # to a df
https://camelot-py.readthedocs.io/en/master/user/install.html
Post #332
1.21K
- 👍 5
- 🤔 1