import csv import re def is_valid_email(email): email_regex = r'^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$' return re.match(email_regex, email) is not None def supprimer_doublons_email(fichier_entree, fichier_sortie): # Créer un ensemble pour stocker les emails uniques emails_uniques = set() # Ouvrir le fichier d'entrée en mode lecture with open(fichier_entree, mode='r', newline='', encoding='utf-8') as fichier_csv: lecteur_csv = csv.reader(fichier_csv) # Stocker toutes les lignes sans doublons d'emails lignes_sans_doublons = [] for ligne in lecteur_csv: if len(ligne) >= 4: email = ligne[3] # L'email est la 4e colonne (index 3) if is_valid_email(email) and email not in emails_uniques: emails_uniques.add(email) lignes_sans_doublons.append(ligne) else: print(f'len is {len(ligne)}') # Écrire les lignes sans doublons dans un nouveau fichier CSV with open(fichier_sortie, mode='w', newline='', encoding='utf-8') as fichier_csv: ecrivain_csv = csv.writer(fichier_csv) ecrivain_csv.writerows(lignes_sans_doublons) # Exemple d'utilisation fichier_entree = 'jap-liste.csv' # Remplace par le nom de ton fichier CSV fichier_sortie = 'jap-liste2.csv' # Nom du fichier de sortie supprimer_doublons_email(fichier_entree, fichier_sortie)