Здравствуйте, Antei, Вы писали:
A> ·>Вроде можно немножко кастомизировать построчный csv-парсер, решение будет на десяток строк от силы.
A> Это один из нескольких десятков файлов, которые прийдётся онбоардить.
A> Все файлы подходят под описанную структуру.
A> Поэтому и хочется сделать слой который сможет по описанию парсить, чтобы сократить время онбоардинга фида.
Я не думаю, что есть что-нибудь готовое... Наваять штуку, которая по описанию ожидаемых полей будет хитро парсить csv... ну 20 строчек выйдет, имхо.
A> ·>Или я не понял, что ты хочешь от "декларативно".
A> Да, хотелось бы где-нибудь (yaml, json, ...) описать грамматику типа на какие колонки разбит каждый тип строки и как эти строки связаны между собой.
Я бы описывал такую "грамматику" на самом питоне. Легче будет всякие кастомизации прикручивать. Например, легко будет добавить кусочек кода в виде лямбды для парсинга хитрого типа колонки.
A> Я новичок в Python, пока пытаюсь найти подходящие решения/либы.
A> Прежде чем ринуться писать свой велосипед )
Уж очень велосипедный формат сам по себе. В лучшем случае может есть что-то у разработчиков этого самого внешнего фида.
A> Внешний фид, ничего не сделаешь.
Сочувствую.