Парсинг текста pdf на python , разбить по столбцам текст

Здравствуйте друзья, помогите пожалуйста с одним вопросом. Я прочитал таблицу с отсканированного файла, получил текст, По идее это таблица, с 4 столбцами, в первой идет название статей, 3 остальные это значения на дату. хотелось бы получить в виде таблицы (Наименование, Данные на дату1, данные на дату2, данные на дату3). Стал использовать регулярные выражения на python. Попытался я вот так

Разделить слова и цифры. Не знаю, как потом разбить цифры по столбцам, учитывая что я обрабатывал как строки, удалил все пробелы и получил цифры длиною в 18-21 символ. мне нужно получить по одинаковому количеству символов в каждом столбце.

strings1 = 'Средства в банках и других финансовых учреждениях 191 339 449 948 624 938',
     'Ценные бумаги учитываемые по амортизируемой стоимости 227 801 258 836 259 491',
     'Кредиты клиентам 7 771 007 6 628 770 6 753 741',
     'МИНУС: Резервы на возможные потери по кредитам клиентам и ФКУ 240 967 245 478 186 684',
     'Чистые кредиты за минусом резервов на возможные потери по',
     'кредитам клиентам и ФКУ 7530 040 6 383 292 6 567 057',
     'Финансовые активы отражаемые по справедливой стоимости через',
     'прибыль или убыток 23566 39 439 43 890',
     'Инвестиции в финансово-кредитные учреждения 30 773 26 133 27 671',
     'Основные средства 380 349 301 054 298 142',
     'Нематериальные активы 36 378 26 765 25 415',
     'Прочие активы 156 560 74 784 75 941',
     'ВСЕГО: АКТИВЫ 9 337 358 8 111 380 8 435 255',
     'ОБЯЗАТЕЛЬСТВА',
     'Текущие счета и депозиты клиентов 3 602 396 1994 450 2370 625',
     'Операции РЕПО 0 0 74431',
     'Кредиты, полученные от . 0 56 823 52 626',
     'Кредиты с бюджета 133 758 180 016 161 260',
     'Средства банков и других ФКУ 2854 194 3662 190 3501 212',
     'Субординированный долг 57 237 57 235 57 791',
     'Обязательство по отложенному налогу на прибыль 18 478 4208 18 787',
     'Обязательство по текущему налогу на прибыль 8 769 5 186 6653',
     'Прочие обязательства 357 778 220 945 173 495
names = []
numbers = []
for i in strings1:
    # списки меняем на строки
    z = ''.join(i)
    z.replace(' ', '')
    # выводим буквы
    word = re.sub('[\d+]', '', z)
    # выводим цифры
    number = re.sub('[\D+]','', z)
    # добавляем в списки
    names.append(word)
    numbers.append(number) 

Буду рад любой помощи, может пошел не потому методу или пути, я в этом деле новичок.


Ответы (0 шт):