You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
padelclub_backend/tournaments/static/misc/cleanup.py

38 lines
1.4 KiB

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)