Les 7 Problèmes CSV les Plus Courants

Si vous avez déjà importé un CSV dans une base de données, ouvert un fichier dans un tableur, ou essayé de joindre deux CSV ensemble, vous avez rencontré ces problèmes. Ils sont universels. Voici la liste complète avec la solution pour chacun :

ProblèmeÀ quoi ça ressemblePourquoi ça arrive
1. Lignes en doubleLe même enregistrement apparaît 2 fois ou plusExport depuis plusieurs sources, ajout sans dédoublonnage
2. Espaces avant/après"New York " ne correspond pas à "New York"Saisie manuelle, formatage Excel
3. Caractère BOMLe premier nom de colonne a un préfixe  invisibleEnregistré en « UTF-8 avec BOM » depuis Excel sur Windows
4. Encodage incompatibleJosé devient José ou Jos?Latin-1 enregistré en UTF-8, ou l'inverse
5. Nulls incohérentsChamp vide écrit comme NULL, N/A, --, "" ou videPlusieurs personnes, systèmes ou exports contribuent aux données
6. Virgule/guillemet dans les champsLes lignes se coupent au mauvais endroit, les champs fusionnentVirgules non échappées dans les champs texte comme les adresses
7. Formats de date mélangés01/02/2026 — 2 janvier ou 1 février ?Formats de date US vs UE dans la même colonne

Supprimer les Lignes en Double — La Bonne Méthode

Tous les « doublons » ne sont pas vraiment des doublons. Il y a trois niveaux :

1. Doublons exacts (toutes les colonnes correspondent)

Ceux-ci peuvent être supprimés en toute sécurité. La ligne est littéralement identique. Utilisez l'outil Remove Duplicates — il compare les lignes entières, conserve la première occurrence, supprime le reste.

2. Doublons basés sur une clé (une colonne correspond)

Deux lignes ont le même email ou ID mais des champs différents. C'est plus délicat — vous devez décider quelle ligne conserver. Peut-être celle avec l'horodatage le plus récent ? L'ensemble de champs le plus complet ? Le dédoublonnage basé sur une clé nécessite une logique de fusion, pas seulement une suppression.

3. Doublons flous (similaires mais pas identiques)

"John Smith" vs "John Smyth" vs "Jon Smith". Même personne, orthographe légèrement différente. La correspondance floue (distance de Levenshtein, Soundex) aide, mais le dédoublonnage flou automatisé est risqué. Examinez manuellement ou définissez un seuil de similarité élevé (>95%).

💡 Règle d'or : Commencez par les doublons exacts. C'est la victoire la plus facile, et ils représentent généralement 80% de votre problème de doublons. Ensuite, examinez manuellement les doublons basés sur une clé. Laissez la correspondance floue pour la fin.

Les Espaces Invisibles Qui Cassent les Jointures

C'est le problème CSV le plus frustrant car vous ne pouvez pas le voir. Votre RECHERCHEV renvoie #N/A. Votre jointure SQL renvoie zéro résultat. Les valeurs ont l'air identiques. Elles ne le sont pas.

Problèmes d'espacement courants :

  • Espaces de début : " New York" — espace avant la valeur. Se produit quand les personnes qui saisissent les données appuient sur la barre d'espace avant de taper.
  • Espaces de fin : "New York " — espace après. Encore plus difficile à repérer.
  • Espaces insécables : — ressemble à un espace, n'en est pas un. Courant dans les données récupérées sur le web. trim() classique ne le supprime pas.
  • Tabulations au lieu de virgules : Le fichier semble être un CSV mais le délimiteur est en fait une tabulation. TSV déguisé en CSV.

Notre CSV Cleaner supprime automatiquement les espaces de chaque champ. Pour les espaces insécables, il normalise d'abord tous les caractères d'espacement Unicode en espaces standard, puis supprime les espaces. Si vous nettoyez dans du code, utilisez .replace(/\s+/g, ' ').trim() — la classe \s capture aussi les espaces insécables.

L'Enfer de l'Encodage : UTF-8, BOM et Texte Garbled

Les problèmes d'encodage CSV viennent d'un fait : le CSV n'a aucun moyen intégré de déclarer son encodage de caractères. Un fichier CSV n'est que des octets. Le lecteur devine. Quand la supposition est fausse, vous obtenez du texte garbled.

Le Problème BOM

Excel sur Windows écrit les CSV en « UTF-8 avec BOM » par défaut. BOM (Byte Order Mark) = trois octets invisibles (EF BB BF) au début du fichier. La plupart des outils non Microsoft ne s'attendent pas à ces octets. Résultat : l'en-tête de la première colonne reçoit un préfixe .

// Exemple de corruption BOM
En-tête attendue : "id","name","email"
En-tête réelle :  "id","name","email"

// Échec de requête SQL : colonne "id" introuvable
// La clé JSON devient "id" au lieu de "id"
// RECHERCHEV ne peut pas trouver "id" car c'est en fait "id"

La solution : supprimer le BOM. Notre CSV Cleaner le fait automatiquement. Dans le code : vérifiez si les trois premiers octets sont 0xEF, 0xBB, 0xBF — si c'est le cas, supprimez-les avant l'analyse.

UTF-8 vs Latin-1

Si les caractères accentués (é, ñ, ü) apparaissent comme deux caractères garbled comme é, votre fichier est en UTF-8 interprété comme Latin-1 (ISO-8859-1). S'ils apparaissent comme ?, votre fichier est en Latin-1 interprété comme ASCII. La solution : définissez explicitement l'encodage lors de l'ouverture, ou convertissez le fichier avec un outil.

Le Workflow le Plus Rapide pour Nettoyer N'importe Quel CSV

  1. Ouvrez d'abord le CSV dans un éditeur de texte (pas Excel). Vérifiez les données brutes. Les champs sont-ils cités ? Quel délimiteur ? Y a-t-il des déchets évidents dans les premières lignes ?
  2. Supprimez les lignes en double — utilisez Remove Duplicates pour le dédoublonnage exact.
  3. Nettoyez les espaces et les nulls — utilisez CSV Cleaner pour supprimer les espaces de tous les champs et standardiser les valeurs vides.
  4. Convertissez si nécessaireCSV vers JSON ou JSON vers CSV si vous changez de format.
  5. Validez — comptez les lignes avant et après chaque étape. Si une opération de nettoyage a changé le nombre de lignes, enquêtez. Cela ne devrait pas arriver (sauf le dédoublonnage).
⚠️ N'ouvrez jamais un CSV de production dans Excel en premier. Excel « reformate » automatiquement les dates, supprime les zéros non significatifs des identifiants (000123 → 123), convertit les grands nombres en notation scientifique (123456789012345 → 1.23457E+14) et enregistre en UTF-8 avec BOM. Ouvrir et réenregistrer un CSV dans Excel peut corrompre silencieusement les données. Travaillez toujours sur une copie.