fixmint
FR

Nettoyer un export CSV désordonné : les problèmes à vérifier, dans l'ordre

Par · · Lecture : 5 min

Pour nettoyer un export CSV désordonné, corrigez-le par couches : d'abord les caractères, ensuite la mise en page, puis ce que signifie chaque colonne. Un CSV est du texte brut, donc la plupart des problèmes viennent de mauvais caractères, de lignes ou de séparateurs en trop, ou de valeurs qu'un programme lit autrement que vous. Commencez par les caractères. Un espace caché peut empêcher une date d'être reconnue comme une date, et les corrections suivantes échouent alors sans raison apparente.

Nettoyeur de CSVCSV plein de vides et de doublonsEssayer gratuitement

Des caractères qui semblent justes et ne le sont pas

Espaces parasites. Un espace au début ou à la fin d'une cellule, ou deux espaces au milieu d'une valeur, fait de « Berlin » et de « Berlin » deux valeurs différentes pour une recherche, un filtre ou une jointure.

Caractères invisibles. Certains caractères ne prennent aucune place à l'écran :

  • Une espace insécable (U+00A0) ressemble à une espace normale, mais c'est un autre caractère. Les pages web l'utilisent pour garder des mots ensemble.
  • Une espace de largeur nulle (U+200B) n'a aucune largeur.
  • Une marque d'ordre des octets (U+FEFF) peut se trouver tout au début d'un fichier, devant le premier en-tête. La colonne semble s'appeler « id » mais s'appelle en réalité « id », donc une recherche de « id » échoue.

Supprimer les caractères invisibles montre ce qu'il trouve avant de modifier quoi que ce soit.

Lettres cassées. « é » à la place de « é » est un problème d'encodage appelé mojibake. Le fichier a été enregistré en UTF-8, où é occupe deux octets, puis lu en Windows-1252, où ces deux octets deviennent deux lettres sans rapport. Une apostrophe « ’ » devient de la même façon « ’ ». La solution consiste à lire le fichier en UTF-8, ou à réexporter les données depuis la source en choisissant UTF-8. Réparer un texte déjà mal enregistré est fragile : conservez donc l'original et travaillez sur une copie.

Mise en page : lignes de titre, lignes vides et doublons

Les rapports commencent souvent par un titre, une date et une ligne vide au-dessus du véritable en-tête. Supprimez tout ce qui se trouve au-dessus de la ligne d'en-tête, pour que la première ligne contienne les noms des colonnes. Chaque colonne a besoin d'un seul nom, et aucun nom ne doit être vide.

Chaque ligne doit avoir le même nombre de champs. Une virgule parasite dans une valeur sans guillemets ajoute un champ, et toutes les valeurs suivantes glissent d'une colonne vers la droite. Comptez les champs par ligne : une ligne au nombre différent est cassée.

Les doublons se présentent sous deux formes. Les lignes identiques dans toutes les colonnes proviennent généralement d'un export ou d'un copier-coller effectué deux fois ; vous pouvez les supprimer sans risque. Les lignes qui partagent une clé mais diffèrent ailleurs peuvent être des mises à jour. Supprimer la mauvaise pourrait effacer la version la plus récente : vérifiez-les d'abord.

Dates : 03/04/2026 peut désigner deux jours différents

03/04/2026 correspond au 3 avril dans un pays et au 4 mars dans un autre, et le texte ne précise pas lequel. Regardez les autres dates de la même colonne. Si un premier nombre dépasse 12, la colonne est au format jour-mois. Si un second nombre dépasse 12, elle est au format mois-jour. Si toutes les valeurs ont leurs deux nombres égaux ou inférieurs à 12, le fichier ne permet pas de trancher : demandez-le au système source. Le Vérificateur de types de données signale une telle colonne comme ambiguë au lieu de deviner.

Une fois l'ordre connu, convertissez chaque date au format ISO 8601, année-mois-jour, comme 2026-04-03. Ce format est sans ambiguïté et se trie correctement en tant que texte. Convertissez les formats mélangés un par un, car une colonne qui contient les deux styles sera mal interprétée par la plupart des programmes.

Nombres enregistrés comme du texte

Un nombre est stocké comme texte lorsqu'il comporte un signe monétaire, un signe de pourcentage ou une espace à l'intérieur, comme « € 12 », « 45% » ou « 1 234 » avec une espace insécable. Les séparateurs de milliers, comme dans « 1,234.50 », font souvent lire la valeur comme du texte également. Un tableur aligne les nombres en texte à gauche, et les sommes les ignorent.

Les virgules décimales sont un piège. Dans « 1.234,50 », la virgule est la marque décimale et le point regroupe les milliers. Dans « 1,234.50 », c'est l'inverse. Ainsi « 1,234 » peut valoir 1234 dans un export et 1.234 dans un autre. Identifiez la locale de la source avant de convertir, puis supprimez les séparateurs de milliers et remplacez la virgule décimale par un point.

Les zéros de tête disparaissent

Les codes postaux, les codes produit et les numéros de compte commencent souvent par des zéros. Lorsqu'un CSV s'ouvre dans un tableur, « 01234 » est lu comme le nombre 1234, et les zéros disparaissent. Enregistrer le fichier conserve cette perte : le système source est la seule copie fiable.

Un identifiant est du texte, même s'il ressemble à un nombre, car vous ne faites jamais de calcul avec lui. Désactivez la conversion en nombre pour ces colonnes lorsque vous nettoyez le CSV, et rouvrez le fichier depuis la source plutôt que depuis une copie enregistrée par un tableur. Vérifiez le type de données de chaque colonne ensuite, pour qu'une colonne de codes postaux ne repasse pas en nombres discrètement. Excel peut aussi modifier des valeurs à l'ouverture d'un CSV : vérifiez le résultat dans une vue en texte brut.

Vérifiez les types, puis profilez

Après le nettoyage, contrôlez le type de chaque colonne. Un seul « N/A » dans une colonne de prix transforme toute la colonne en texte, et son total devient faux. Le Vérificateur de types de données attribue à chaque colonne un type et un score de confiance, et liste les cellules qui ne correspondent pas.

Profilez ensuite les colonnes. Le Profileur de colonnes CSV met en évidence les vides et les valeurs aberrantes dans chaque colonne. Une valeur aberrante peut être une vraie valeur, ou une erreur, comme un prix mille fois supérieur aux autres, ce qui provient souvent d'une virgule ou d'un séparateur mal placé.

Cas particuliers

  • Sauts de ligne entre guillemets. Une valeur entre guillemets peut contenir un saut de ligne. Un outil qui découpe le fichier ligne par ligne coupe alors cette ligne en deux : utilisez un lecteur qui gère les champs entre guillemets.
  • Fichiers à point-virgule. Beaucoup de tableurs européens enregistrent les CSV avec des points-virgules, car la virgule est le séparateur décimal de leur locale. Vérifiez le séparateur avant de lire les colonnes.
  • Conservez l'original. Écrivez le résultat nettoyé dans un nouveau fichier et gardez l'export tel qu'il était.

L'ordre, sous forme de liste de contrôle

  1. Conservez une copie de l'export d'origine.
  2. Supprimez les espaces parasites et les caractères invisibles. Corrigez les lettres cassées à la source si vous le pouvez.
  3. Supprimez les lignes de titre, vérifiez les noms d'en-tête et confirmez que chaque ligne a le même nombre de champs.
  4. Repérez les doublons et décidez quelle version garder.
  5. Convertissez les dates au format année-mois-jour, supprimez les séparateurs et faites des identifiants du texte.
  6. Vérifiez le type de chaque colonne, puis profilez-la pour détecter les vides et les valeurs aberrantes.

Réponses rapides

Pourquoi ma recherche échoue-t-elle alors que les valeurs semblent identiques ?

En général, une espace, une espace insécable ou une marque d'ordre des octets se trouve dans l'une des cellules. Supprimez les caractères invisibles et réessayez.

Pourquoi mes dates changent-elles de valeur ?

Un programme a lu une date jour-mois ou mois-jour dans le mauvais ordre, ou il a converti le texte dans son propre format de date. Convertissez d'abord les dates vous-même, au format année-mois-jour.

Traduit de Version originale anglaise avec l’aide de l’IA.

Commentaires

    Aucun commentaire pour l’instant. Soyez le premier.

    Votre note (facultatif)

    Votre e-mail n’est jamais affiché ni conservé.

    Couverture de Open Data for AGI - Why Public, Free, and Open Datasets MatterOpen Data for AGI - Why Public, Free, and Open Datasets Matter

    Pourquoi les jeux de données publics, gratuits et ouverts façonneront l'intelligence artificielle générale autant que les algorithmes et la puissance de calcul.

    $4.99Acheter sur GumroadEn anglais