csv_cleaner_pro.py

49,00 

Automatiser le nettoyage, la normalisation et l’anonymisation de fichiers CSV volumineux avant injection en base de données.

UGS : csv_cleaner_pro.py Catégorie : Étiquette :

🔷 INFORMATIONS GÉNÉRALES

Champ Détail

Nom du script csv_cleaner_pro.py

Version 1.0.0

Date de création 09/03/2026

Auteur / Demandeur Gemini (IA Générée)

Objectif principal Automatiser le nettoyage, la normalisation et l’anonymisation de fichiers CSV volumineux avant injection en base de données.

🎯 DESCRIPTION FONCTIONNELLE

📌 Que fait ce script ?

Ce script prend un fichier CSV brut en entrée, supprime les doublons, gère les valeurs manquantes selon des règles prédéfinies, normalise les formats de date et de téléphone, et exporte un fichier propre prêt pour l’analyse.

📌 Problème résolu

Élimine les erreurs d’importation manuelles et réduit le temps de préparation des données (Data Wrangling) de plusieurs heures à quelques secondes.

⚙️ SPÉCIFICATIONS TECHNIQUES

🐍 Environnement

Élément Valeur

Version Python 3.10+

OS cible Windows / Linux / MacOS

Mode d’exécution CLI / Scheduled (Cron/Task Scheduler)

📦 Dépendances / Librairies

# Librairies standard (built-in)

os, logging, argparse, json

# Librairies externes (pip install)

pandas==2.1.0

python-dotenv==1.0.0

📥 ENTRÉES (INPUTS)

# Nom Type Obligatoire Description Exemple

1 input_file str ✅ Oui Chemin vers le CSV source « data/raw_users.csv »

2 threshold float ❌ Non Seuil de tolérance pour valeurs nulles (0.0 à 1.0) 0.5

📂 Fichiers / Sources de données en entrée

Type Chemin / Format Description

CSV ./data/input.csv Données clients brutes

.env ./.env Clés de chiffrement pour l’anonymisation

📤 SORTIES (OUTPUTS)

# Nom Type Description Exemple

1 status bool Succès ou échec de l’opération True

2 stats dict Statistiques du nettoyage (lignes supprimées, etc.) {« rows_cleaned »: 150}

📂 Fichiers / Données en sortie

Type Chemin / Format Description

CSV ./output/cleaned_data.csv Données prêtes à l’emploi

Log ./logs/cleaner.log Historique détaillé des erreurs et actions

🧱 STRUCTURE DU SCRIPT

csv_cleaner_pro.py

📌 IMPORTS (pandas, logging, dotenv)

📌 CONSTANTES / CONFIG (Formats de date, colonnes obligatoires)

📌 FONCTIONS

load_config() → Charge les paramètres .env

clean_dates(df) → Normalise la colonne ‘Date’

anonymize_pii(df) → Chiffre les emails/téléphones

main() → Orchestration

📌 MAIN (Point d’entrée CLI)

🔄 LOGIQUE / ALGORITHME

Lecture du fichier CSV via Pandas.

Validation de la structure (présence des colonnes minimales).

Nettoyage :

Suppression des lignes 100% vides.

Application du threshold sur les valeurs manquantes.

Transformation : Conversion des types de données.

Export : Écriture du fichier final et génération du log de succès.

🚨 GESTION DES ERREURS

Cas d’erreur Type d’exception Comportement attendu

Colonne manquante KeyError Log critique + arrêt du script

Fichier corrompu pd.errors.EmptyDataError Notification email + Skip du fichier

✅ CONTRAINTES & RÈGLES MÉTIER

Règle 1 : Les emails doivent être convertis en minuscules.

Règle 2 : Si une ligne n’a pas d’ID unique, elle est rejetée.

Règle 3 : RGPD : Les colonnes « Nom » et « Prénom » sont hachées en SHA-256.

🧪 TESTS ATTENDUS

# Cas de test Entrée Résultat attendu Statut

1 Nominal CSV standard Fichier nettoyé généré ⬜ À tester

2 Colonne manquante CSV sans ID Erreur explicite dans le log ⬜ À tester

Avis

Il n’y a pas encore d’avis.

Soyez le premier à laisser votre avis sur “csv_cleaner_pro.py”

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *