Python дедупликация и объединение данных по общим признакам

Иван7 лет в сервисе
Данные заказчика будут вам доступны после подачи заявки
02.05.2022

Есть входная таблица с перс данными пользователя. 

Телефоны все приведены к единому формату, email тоже. 

У одного пользователя может быть несколько номеров телефона и несколько email. 

Одна строчка это один пользователь, но один пользователь может встречаться в нескольких строчках таблицы. 

Пример таблицы:

ФИО | Phone1 | Phone2 | Phone N | Email1 | Email2 | Email N |

Нужно написать скрипт который:

1. Соберет словарь или таблицу где будет uuid и все телефоны, email по пользователю найденые из исходной таблицы. 

2. В таблице добавить колонку с uuid

3. При появление второй таблицы с такими же вводными данными,  использовать сначала уже  распознанные данными, а тех кого не удалось распознать сгенерить им новые uuid 

Для объединения в один uuid над достаточно совпадения по любому признаку из колонок phone или email. 

Грубо говоря у нас есть uuid и в нем 3 номера телефона и 1 email, и в исходной таблице мы находим еще одну строчку где есть такой же email, и при этом 2 телефона которых у нас не было раньше, в итоге должны получить 1 uuid с 5 номерами телефона и 2 email адресами. 

Ограничений по библиотекам нет

 

Заявки фрилансеров