Camelot-py не обнаруживает две строки текста в одной строке - PullRequest
0 голосов
/ 12 марта 2020

Очистка данных таблицы из .PDF с использованием Camelot-py, и он не собирает сложенные строки текста (см. Строки 9 и 10 ниже)

1 through 14

В строках 9 и 10 отсутствует текст для учетной записи.

https://camelot-py.readthedocs.io/en/master/user/advanced.html#specify -table-area

Вот код, который у меня есть в формате .ipynb. Первый блок предназначен для первой таблицы, которая тянет, как и ожидалось, второй - для страницы 9.

Таблица

tables= camelot.read_pdf(r'C:\PDFFilePath', pages='9', line_scale=40)
    tables[0].to_csv(r'Loans&Leases')
    camelot.plot(tables[0], kind ='contour')
    plt.show()

Используя MatPlotLib, я вижу, что Камелот правильно определяет область таблицы / сетка для страницы 9.

область таблицы графиков

сетка графиков

Вот ссылка Google Drive на PDF

Отчет о вызове PDF

Буду признателен за любую информацию.

1 Ответ

0 голосов
/ 12 марта 2020

Ваш код правильный.

Если вы попытаетесь набрать tables[0].df, это правильный вывод:

enter image description here

Итак, ваша проблема на момент экспорта в CSV - это разрыв строки (\ n) в 10-й и 11-й строках.

Решением может быть следующий код:

tables= camelot.read_pdf(r'C:\PDFFilePath', pages='9', line_scale=40, strip_text='\n')

С помощью strip_text вы можете удалить ненужные символы (см. официальная документация ).

Теперь, если вы экспортируете таблицу в CSV, вы получите : enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...