Войти Создать аккаунт

Сверка двух таблиц · Шаг 3 из 4

Что изменилось в строке

Самое ценное в сверке — у кого что поменялось: должность, оклад, отдел. Но учётная программа выгружает оклад то как 85000, то как 85 000,00, а в столбце vygruzheno у каждой строки своя дата выгрузки. Если считать это изменениями, в отчёте утонет всё настоящее.

Что сделать

Для строк, которые есть в обеих таблицах, найдите столбцы, где значение изменилось; числа сравнивайте как числа.

Что приходит

  • staraya и novaya — две таблицы словарями «ключ → строка», как их вернул шаг 1

  • ne_sravnivat — список столбцов, которые сравнивать не нужно: ["vygruzheno"]

Что вернуть

Список пар (ключ, [(столбец, было, стало), …]) по порядку старой таблицы — только строки, где что-то изменилось.

Допишите функцию izmeneniya_strok в редакторе справа. Результат верните через return — то, что напечатано, на проверку не влияет.

В проекте

Программа передаёт этот список в отчёт — шаг 4, а с ключом --v записывает каждое расхождение строкой таблицы, которую можно открыть в Excel.

Перед вызовом
staraya = {("1043",): {"tabel": "1043", "fio": "Иванова А. С.", "dolzhnost": "бухгалтер", "oklad": "85000"},
           ("1044",): {"tabel": "1044", "fio": "Петров В. В. ", "dolzhnost": "водитель", "oklad": "60000"}}
novaya = {("1044",): {"tabel": "1044", "fio": "Петров В. В.", "dolzhnost": "водитель", "oklad": "60000"},
          ("1043",): {"tabel": "1043", "fio": "Иванова А. С.", "dolzhnost": "главный бухгалтер", "oklad": "95000"}}
Вызов
izmeneniya_strok(staraya, novaya, [])
Вернуть
[(('1043',), [('dolzhnost', 'бухгалтер', 'главный бухгалтер'), ('oklad', '85000', '95000')])]
Ctrl+Enter — проверить

Обсуждение

Вопросов пока нет.

Войдите, чтобы спросить.