Скрипт на Python для парсинга текстовых файлов

3 000 руб. за проект
29 марта 2022, 07:15 • 12 откликов • 127 просмотров
Есть множество текстовых с аналогичной структурой. Текстовые файлы – это текст программы. Язык похож на ФОРТРАН. Команды в текстовых файлах одинаковые, но в разных файлах эти команды имеют разные параметры.
Внутри каждого текстового файла множество команд (процедур). Каждая команда начинается с названия команды заглавными буквами, затем в той же строке могут идти параметры, разделённые пробелами или табуляцией.
Есть 4 типа команд:
1) Команда в одну строку. Все параметры идут в одной строке следом за названием команды (название всегда заглавными буквами)
2) Команда в несколько строк. Параметры не умещаются в одну строку и продолжаются на следующей строке или строках.
3) Команда в одну строку, с одной таблицей ниже. Параметры идут в одной строке следом за названием, а ниже таблица.
4) Команда в одну строку, с двумя таблицами ниже. Таблицы имеют разную размерность.

Нужен скрипт, который умеет конвертировать текстовые файлы в список Python.

В списке каждой команде из текстового файла соответствует одна запись:
list(
[command_name, [arg1, arg2...],
[command_name2, [arg1, np.array],
[command_name, [arg1, arg2, arg3]
]

Внутри каждой записи сохранить параметры команды в список. Текстовые параметры - в строку, целые числа в int, числа с плавающей точкой в float.
Для команд с таблицами сохранить таблицы в numpy-array.
Python версии 3.8 и выше
Примеры нескольких однотипных файлов по ссылке:
https://1drv.ms/u/s!AgsliTwx9ZLRhMRZ7-FHEI7Lge7I5Q...
Файлы
Отзывы
Михаил всё сделал как договаривались, и раньше срока. Сделал много полезных предложений для улучшения проекта. В общении - вежливость, терпение, уважение.
Отличные впечатления от совместной работы.
~ 2 года назад
Avatar r50 a6ce93fe35b158fd29ba0e8681c918c22117160e9586a56eee4ffbc20df9bda1
Фрилансер
От заказчика была максимальная отдача. Всегда был на связи для уточнения некоторых моментов. Быстро принял работу. Буду рад работать с Вами ещё!)
~ 2 года назад