Вступить в клуб →
средняяpythonPython для ETL: загрузка, валидация и версии записей

Проверка записей по схеме перед загрузкой в хранилище

Напишите validate_rows(rows, schema), которая возвращает кортеж (valid, errors).

  • schema — словарь {поле: тип}, где тип — int, float или str.
  • Поле отсутствует или равно None — ошибка "missing".
  • Значение не того типа — ошибка "type". Для float допустимы int и float. bool не считается ни int, ни float.
  • errors — список кортежей (индекс_строки, поле, причина) в порядке строк и полей схемы.
  • valid — строки без ошибок в исходном порядке. Лишние поля в строке допустимы.

заготовка решения

def validate_rows(rows, schema):
    # ваш код
    return None

🔒 Проверка ответа — для участников клуба

  • Автотесты прямо в браузере
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела