Кроме того что я тут пишу довольно много про данные, регулярно пишу колонки для СМИ и ещё много чем занимаюсь, я не перестаю программировать. Чаще в режиме ведения pet-проектов, помогающих в работе, обработке и анализе данных вручную и автоматически.
Один из таких проектов которые я веду и обновляю - это undatum [1] утилита командной строки с открытым кодом для Python написанная изначально как швейцарский нож по обработке данных JSON lines и BSON. Для тех кто не знает, JSON lines и BSON - это форматы используемые активно в NoSQL document-oriented базах данных. Они могут содержать вложенные объекты: словари, массивы данных и тд. Это довольно сильно отличает их от форматов для плоских таблиц таких как CSV/TSV. И для их обработки инструментов гораздо меньше. Особенно для BSON, который применяется преимущественно в MongoDB и мало где используется. Но, поскольку у нас в DataCrafter (data.apicrafter.ru) внутри используется MongoDB, то BSON оказывается нативным и нечеловекочитаемым форматом и для него инструменты работы с данными нужны.
Undatum умеет:
- преобразовывать между форматами файлов CSV, XLS, XLSX JSON lines, BSON, а теперь ещё и Parquet
- печатать поля (headers) файлов и структуру для CSV, JSONl, BSON
- делать дамп уникальных значений конкретного поля
- делать дамп частот значений конкретного поля
- генерировать схему структуры данных
- анализировать статистику по набору данных: тип поля, является ли уникальным, частоты значений и тд.
- разрезать файлы на множество по значению поля или по числу записей в каждом
- применять к каждой записи файла скрипты на Python
- проверять значения в полях файла на одно из правил валидации: сейчас это проверка email, url, кодов ИНН, ОГРН и др.
И так далее, инструмент универсальный. Присоединяйтесь к его развитию и использованию.
Пишите в issues если найдете баги или потребуются новые функции.
Ссылки:
[1] https://github.com/datacoon/undatum
#datatools #opensource
undatum: a command-line tool for data processing. Brings CSV simplicity to JSON lines and BSON - GitHub - datacoon/undatum: undatum: a command-line tool for data processing. Brings CSV simplicity t...