Как читать построчно в файле PDF и создать CSV

Вот мой pdf Я нашел это, и я использовал его, чтобы записать мой PDF.

6 BEDROOMS
NameAddressUnitSizeKeyRentSq FtMove in DateNotesTenant
Prop #
Texan 261009 West 26th3076x3$4,6952,1368/15/14$1,000 Bonus (1) Park -     

Это довольно перепутано. Или это потому, что PDF отформатирован таким образом, что его невозможно прочитать? Я думал, что есть способ, которым я мог бы вырезать каждую строку и создать CSV со столбцами с помощью итерации или чего-то еще.

Как заполнить CSV столбцами

T26 | Texan 26          | 1009 West 26th | 307      | 6x3 | ... 
e075| Texan North Campus| 5117 N Lamar   |See below | 6x3 |...

Это можно обойти?

2 ответа

Фрагмент кода, который вы использовали, предоставил некоторые практически непригодные данные, я не думаю, что это правильный путь. Очистка от PDF, как правило, довольно трудна, однако взгляните на pdftables.com: они предоставляют API для очистки таблиц от PDF-документов, которые, как я обнаружил, работают в большинстве случаев - это ваш лучший шанс в этом, я бы сказал,,

Вы можете использовать Camelot (это библиотека Python), чтобы создать скрипт, который извлекает табличные данные из вашего PDF и экспортирует их в CSV. Вы можете ознакомиться с документацией по адресу: http://camelot-py.readthedocs.io/. Было бы полезно, если бы вы могли опубликовать ссылку на свой PDF. Вот пример общего кода:

>>> import camelot
>>> tables = camelot.read_pdf('file.pdf')
>>> type(tables[0].df)
<class 'pandas.core.frame.DataFrame'>
>>> tables[0].to_csv('file.csv')

Отказ от ответственности: я автор библиотеки.

Другие вопросы по тегам