Aller au contenu principal
Développement

Python : contrôler un CSV avant de l’importer dans un outil métier

Concevez un contrôle CSV avec Python : schéma attendu, identifiants, dates, montants et rapport de rejets avant toute écriture métier.

Par L’équipe LitusPublié le 6 min de lecture
Poste de développement équipé de deux écrans
Farzad Nazifi euwars · CC0

Un fichier CSV peut être lisible dans un tableur et rester dangereux à importer dans un logiciel métier. Une référence perd ses zéros, une date change de sens ou une colonne disparaît dans le dernier export du fournisseur. Python permet de contrôler ces fichiers avant qu’ils modifient des données réelles. Le résultat utile n’est pas seulement un verdict « valide » : c’est un rapport qui indique les lignes acceptables, les anomalies et les corrections attendues, tout en conservant la source intacte.

Écrire le contrat du fichier avant le script

Décrivez les colonnes attendues, leur type, leur caractère obligatoire et les valeurs autorisées. Précisez ce qu’une ligne représente : produit, variante, client ou opération. Ajoutez la clé qui permet de distinguer deux enregistrements. Sans cette définition, le programme peut détecter des erreurs de syntaxe tout en acceptant des incohérences métier. Une quantité négative est valide pour certains mouvements de stock, mais pas nécessairement pour une nouvelle commande.

Dans un exemple fictif, un fournisseur transmet des références, quantités et dates de disponibilité. Le contrat indique que la référence reste du texte, que la quantité est un entier et que la date suit un format explicite. Il précise aussi si une référence absente du catalogue doit bloquer le lot ou rejoindre une file de vérification. Cette décision appartient au processus métier ; Python ne peut pas l’inventer à partir du fichier.

Lire le CSV avec un parseur adapté

Le module standard csv de Python fournit notamment DictReader pour lire les lignes par nom de colonne. La documentation recommande une ouverture adaptée aux fins de ligne et décrit les dialectes de CSV. Utilisez ce parseur plutôt qu’un découpage manuel sur la virgule : un champ cité peut contenir lui-même une virgule, un guillemet ou un retour à la ligne.

Fixez l’encodage et le séparateur attendus selon votre source, puis signalez une divergence. Une détection automatique peut aider au diagnostic, mais elle ne doit pas corriger silencieusement tous les fichiers. Vérifiez les en-têtes dupliqués, les colonnes manquantes et celles qui apparaissent sans être prévues. Si une colonne nouvelle change le sens du fichier, le bon comportement peut être de suspendre l’import pour faire évoluer le contrat.

Lieu de travail et son aménagement, photographie d’illustration
Lieu de travail et son aménagement, photographie d’illustration.yun cheng chen · CC BY-SA 4.0

Valider sans transformer trop tôt

Conservez d’abord les valeurs brutes avec le numéro de ligne et la référence du fichier. Appliquez ensuite des contrôles séparés : présence, format, plage autorisée et cohérence entre champs. Une erreur doit pouvoir être expliquée avec la valeur reçue. Évitez de remplacer une chaîne illisible par zéro pour que le traitement continue ; vous transformeriez une anomalie visible en donnée apparemment correcte.

Pour les montants, définissez le séparateur décimal, la devise et la précision attendue. Pour les dates, indiquez le format et, si une heure existe, le fuseau. Une valeur comme 03/04 ne porte pas le même sens dans tous les contextes. Pour les codes postaux et identifiants, gardez le texte lorsque les zéros initiaux ont une signification. Le choix du type doit suivre l’usage de la donnée.

Contrôler les relations entre les colonnes

Certains contrôles portent sur plusieurs champs : une date de fin ne devrait pas précéder la date de début dans le scénario prévu, une quantité livrée ne doit pas dépasser la quantité autorisée sans explication, une référence de produit doit exister dans la source de référence. Écrivez ces règles dans des fonctions nommées selon le métier. Une personne qui maintient le script comprendra ainsi leur intention sans relire toute la logique.

Détecter les doublons selon une vraie identité

Deux lignes identiques peuvent être une répétition accidentelle ou deux événements légitimes. Définissez la clé de déduplication avant de supprimer quoi que ce soit. Pour un catalogue, la référence peut suffire dans certains cas. Pour des mouvements, il faut souvent un identifiant d’opération distinct. Un ensemble de colonnes choisi au hasard peut fusionner des données qu’il fallait conserver.

Le contrôle doit également rapprocher le fichier de l’état de destination lorsque le besoin l’exige. Une ligne absente du fichier précédent peut déjà avoir été intégrée manuellement. Pour une mise à jour, distinguez la nouvelle valeur et celle qui doit rester inchangée. Produisez un aperçu des créations, modifications et absences de changement. Cet aperçu rend l’impact de l’import compréhensible avant toute écriture.

Produire un rapport exploitable par l’équipe

Pour chaque anomalie, indiquez le fichier, la ligne, la référence, la colonne, la valeur observée et la règle violée. Un message comme « ligne invalide » oblige l’utilisateur à recommencer le diagnostic. Préférez une explication précise, par exemple « date attendue au format défini, valeur non interprétable ». Ajoutez une synthèse des erreurs par catégorie pour repérer une mauvaise configuration générale plutôt que corriger cent lignes une à une.

Séparez les rejets bloquants des avertissements. Une colonne obligatoire absente peut invalider tout le lot ; un libellé trop long peut demander un arbitrage sur une seule ligne. Le choix de poursuivre avec les lignes valides doit être explicite. Sur certaines opérations, un import partiel est acceptable ; sur d’autres, il rend l’ensemble incohérent. Le rapport doit rendre cette décision visible.

Lieu de travail et son aménagement, photographie d’illustration
Lieu de travail et son aménagement, photographie d’illustration.Dan Gold danielcgold · CC0

Organiser une exécution à blanc puis une écriture contrôlée

La première étape ne modifie aucun outil métier. Elle lit, contrôle et produit les résultats. Après validation, une seconde étape applique le lot accepté avec une référence d’exécution. Conservez les compteurs et les identifiants créés pour pouvoir reprendre une interruption. Un script qui mélange lecture, nettoyage et écriture dans une boucle unique est souvent plus difficile à arrêter et à comprendre.

Testez un fichier vide, un en-tête incorrect, une ligne citée contenant une virgule, une référence répétée et un encodage inattendu. Ajoutez un fichier valide servant de référence. Ces exemples doivent vérifier des règles métier et des cas de lecture réellement rencontrés. Ils aideront à détecter une régression lorsque le fournisseur modifie son export ou que vous ajoutez une nouvelle colonne.

Prévoir la maintenance du contrôle

À la livraison, gardez le contrat de données, les fichiers de test, la commande d’exécution et l’emplacement des rapports. Désignez une personne qui valide les évolutions de format. Un export fournisseur peut changer sans prévenir ; le contrôle doit alors échouer de façon compréhensible plutôt que produire un résultat trompeur. La traçabilité des versions aide à savoir avec quelles règles un ancien lot a été accepté.

Notre expertise Python couvre les traitements de fichiers et les connexions aux outils métier. Pour cadrer un contrôle CSV, fournissez un échantillon anonymisé, le format attendu et les erreurs déjà rencontrées. Ces éléments permettent de construire un programme ciblé, avec des rejets compréhensibles et une reprise maîtrisée.

Pour approfondir : ChatGPT en entreprise : quelles tâches déléguer sans perdre le contrôle ?.

Pour approfondir : HubSpot : préparer un import de contacts qui respecte les fiches existantes.

Google

Avis clients

5/5+21 avis Google
Léandre. dpsil y a 4 mois
Avis publié sur Google

Note attribuée sans commentaire.

Visité en avril
SARL PEAN Jil y a 5 mois
Avis publié sur Google

Excellent. Grâce à Litus, ma communication internet est devenue vraiment professionnelle.

Visité en mars
Ornel Afonsoil y a 9 mois
Avis publié sur Google

Excellente expérience avec Arthur et son équipe ! Ils sont professionnels, à l’écoute et ont su créer un site web vivant, clair et efficace. Je recommande vivement pour tout projet web ou SEO.

Visité en novembre 2025
Julie Langlaisil y a un an
Avis publié sur Google

Professionnel à l’écoute qui est très réactif. Fourni un travail rapide et sérieux. Merci.

Visité en septembre 2025
Sylvain Chamouxil y a un an
Avis publié sur Google

Un résultat vraiment top ! Mon site est incroyable, exactement comme je l’imaginais. Arthur et son associé ont été très disponibles, à l’écoute et professionnels tout au long du projet. Je recommande vivement !

Visité en septembre 2025
Sylvie Bouvieril y a un an
Avis publié sur Google

Je recommande vivement Arthur ! Très impliqué, toujours à l’écoute, il fait preuve d’une grande créativité, d’idées et d’un vrai sens pédagogique.

Visité en juillet 2025
Véronique Guillemotil y a un an
Avis publié sur Google

J’ai connu Aksel de Litus par recommandation et je lui ai demandé de créer mon site internet de soins énergétiques. Un accompagnement attentif et professionnel.

Visité en juin 2025
Julien Hamonil y a un an
Avis publié sur Google

Je recommande vivement l’agence Litus pour la création de sites. Leur équipe est professionnelle, réactive et à l’écoute de mes besoins.

Visité en février 2025
Alexandre Fletcheril y a un an
Avis publié sur Google

Litus m’a accompagné avec efficacité et professionnalisme dans la mise en place d’un blog pour mon agence immobilière. Son équipe est très disponible et réactive. Entièrement satisfait, je recommande sans hésitation cette agence web.

Visité en mai 2025
Camille Bennadjiil y a un an
Avis publié sur Google

Note attribuée sans commentaire.

Visité en mars 2025
Amelie Van-Landschootil y a un an
Avis publié sur Google

Note attribuée sans commentaire.

Visité en mars 2025
Emma Stj22il y a un an
Avis publié sur Google

Note attribuée sans commentaire.

Visité en mars 2025
Kim Buquenil y a un an
Avis publié sur Google

Note attribuée sans commentaire.

Visité en février 2025
Hishem Belhajil y a un an
Avis publié sur Google

Litus m’a accompagné dès le lancement de mon entreprise et cela a été un vrai plus. Leur équipe est réactive, à l’écoute et m’a aidé à avoir un site professionnel.

Visité en août 2024
Pezzino Matysil y a un an
Avis publié sur Google

Merci à Litus pour la création de notre site e-commerce B2B. L’équipe a été très professionnelle, avec un site bien pensé et un référencement qui porte ses fruits.

Visité en février 2025
Lucas Robertil y a un an
Avis publié sur Google

Arthur et Aksel ont su être très professionnels et m’accompagnent encore aujourd’hui ! Merci pour votre expertise.

Visité en juin 2024
Yanisil y a un an
Avis publié sur Google

Client depuis plus d’un an, super satisfait ! Litus est professionnel, réactif et toujours disponible. Merci pour votre excellent travail.

Visité en janvier 2025
Romain Brantil y a un an
Avis publié sur Google

Collaboration avec l’équipe Litus depuis plus d’un an. Merci pour ce professionnalisme et votre disponibilité. Une équipe fiable sur qui on peut compter pour travailler sérieusement.

Visité en décembre 2024
N Sil y a un an
Avis publié sur Google

Merci à Arthur et à toute l’équipe Litus pour la création de mon site web. Un suivi régulier et un professionnalisme à toute épreuve. Des experts à qui on peut faire confiance les yeux fermés !

Visité en décembre 2024
Marius Le Nédicil y a un an
Avis publié sur Google

Nous tenons à remercier chaleureusement l’équipe de Litus pour la création de notre site web. Leur professionnalisme et leur expertise ont permis de concevoir un site responsive et parfaitement adapté à nos besoins.

Visité en décembre 2024
Pierre-Louis Gaboriauil y a 2 ans
Avis publié sur Google

Création de mon site et suivi régulier de la part de Litus pour la réalisation West Clôtures.

Voir tous nos avis sur Google