Ну что, меня можно поздравить с первой библиотекой на pypi!
Ну как с первой… с первой, которую я придумал и написал с нуля, а не обертка над чужим api.
На работе я постоянно пишу приложения, которые читают excel файлы.
С каждым разом я совершенствовал подход так, чтобы это выглядело более читаемым и легко поддерживаемым.
Буквально на прошлой неделе на ревью кода я понял, что очень большой кусок логики - это чтение и парсинг этих файлов. И мне стало немного больно от того, что целая команда разработчиков делает одно и то же действие, но каждый по своему.
Это легковесная библиотека, которая в стиле каких-нибудь SQLAlchemy или pydantic дает возможность легко и ненапряжно спарсить таблицу в файле.
Не важно на какой она строке - на первой или на двадцать пятой.
Не важно сколько строк в заголовке - одна или семь.
Вы просто описываете схему и далее происходит магия.
class Person(Schema):
id: str = Column("Номер сотрудника")
fullname: str = Column("ф.+и.+о.+", regexp=True)
age: int = Column(lambda n: n.startswith("Возраст"), validator=lambda v: v.isnumeric(), skip_invalid_row=True)
persons = xlea.autoread("persons.xlsx", schema=Person)
for p in person:
print(p.id, p.fullname, p.age)
print(p.asdict())
Названия столбцов можно писать строкой, или передавать регулярку, или даже собственную функцию.
Строки можно валидировать и в случае некорректной строки - пропускать ее или вызывать ошибку.
Есть и еще фичи, но как говорит чел из комикса выше - ее все равно никто не будет юзать…
Или нет?
pip install xlea, btw🌚автор комикса: xkcd
@Dev.log

