Удаление повторных показаний датчиков

тема: Пропуски, дубликаты, выбросы · уровень: базовый

Условие

В файле data.csv хранятся показания датчиков в теплице. Каждая строка описывает одно полученное показание. Один датчик мог передать несколько показаний в одну и ту же дату и зону теплицы.

В stdin заданы дата и зона теплицы. Сначала рассматриваются только строки файла с указанными значениями date и zone. Затем среди них удаляются повторные строки с одинаковым sensor_id, при этом сохраняется первая строка в порядке расположения в файле.

Требуется вывести число строк, оставшихся после удаления повторов. Формально, если S — множество значений sensor_id среди отобранных строк, ответ равен |S|.

При совпадении sensor_id сохраняется строка, расположенная в файле раньше остальных строк с этим sensor_id.

Формат ввода

Файл data.csv находится рядом с программой, имеет кодировку UTF-8 и разделитель запятая. Первая строка файла содержит заголовки:

date,zone,sensor_id,measured_at,temperature_c,humidity_pct

В stdin подаются две строки:

Формат вывода

Выведите одно целое число — количество строк после удаления повторов по sensor_id.

Дробной части в ответе нет, выведите целое число.

Ограничения

Решить задачу с автопроверкой на Python →

Куда дальше