Données et feuilles de calcul · CSV Cleaner
Fonctionnement de la détection des délimiteurs CSV : virgules, points-virgules, tabulations et barres verticales
· Comment ça marche
CSV nettoyage des données formats de fichiers
Un fichier CSV ne précise jamais quel caractère sépare ses champs, le logiciel doit donc deviner. Cet article explique comment fonctionne le reniflage du délimiteur, pourquoi il échoue sur les fichiers délicats et comment rendre le délimiteur explicite.
Un fichier qui s'ouvre sous la forme d'une longue colonne : pourquoi le délimiteur n'est stocké nulle part dans un CSV
Un analyste de données ouvre une exportation .csv et voit un long champ sur chaque ligne. L'extension n'indique pas au lecteur quel séparateur a été utilisé et le fichier ne contient généralement aucune déclaration de délimiteur. Une application supposant des virgules lira un en-tête séparé par des points-virgules tel que nom;ville;notes comme une seule colonne. Avant de modifier les valeurs, demandez quel caractère divise réellement les champs et si l'importateur dispose d'un moyen de contourner sa supposition.
Les quatre candidats pris en charge : virgule, point-virgule, tabulation et barre verticale
ToolAcre considère la virgule, le point-virgule, la tabulation et la barre verticale comme candidats. Un point-virgule est courant lorsque les virgules sont déjà utilisées comme séparateurs décimaux, les tabulations évitent les collisions de ponctuation dans les exportations simples et les tuyaux séparent parfois les vidages de journaux ou de bases de données. Un espace ne fait pas partie des choix automatiques de l’outil : les noms et les cellules de texte libre contiennent souvent des espaces. N'ajoutez pas un candidat simplement parce qu'il apparaît fréquemment dans un exemple de texte ; un séparateur doit diviser les lignes en champs cohérents.
Comment fonctionne le reniflage : compter les caractères candidats par ligne et préférer celui qui donne un nombre de champs cohérent sur toutes les lignes
L'implémentation supprime une marque de commande UTF-8 byte de premier plan et analyse un échantillon de dix lignes maximum avec chaque candidat. Il enregistre les largeurs de ces lignes et rejette tout candidat qui ne produit jamais au moins deux colonnes. Un candidat obtient des résultats plus élevés lorsqu'il produit plus de colonnes de manière cohérente sur les lignes ; les largeurs incohérentes sont pénalisées deux fois dans le score. Surtout, l'analyse observe les champs cités, donc une virgule à l'intérieur d'une adresse citée ne compte pas comme une limite de champ. Cela diffère du comptage naïf de caractères et c'est pourquoi une colonne d'adresse désordonnée ne doit pas nécessairement échouer la détection.
Là où le reniflage échoue : colonnes de texte libre remplies de virgules, fichiers à une seule colonne et champs entre guillemets qui cachent le véritable séparateur
Aucune supposition n’est infaillible. Un fichier très court contient peu de preuves, un CSV véritablement à une seule colonne n'a aucun candidat qui se divise en deux, et des citations mal formées peuvent donner un aspect irrégulier à plusieurs analyses de candidats. Une colonne de texte libre remplie de séparateurs peut entrer en concurrence avec le véritable délimiteur lorsque les guillemets sont rompus. Les séparateurs mixtes entre les lignes ne constituent pas un seul dialecte CSV propre. L'outil rapporte l'analyse des avertissements et expose la sélection manuelle des délimiteurs ; un utilisateur qui connaît la convention d'exportation en amont peut ignorer le choix déduit plutôt que de prétendre que l'heuristique est une spécification.
Exemple concret : une exportation séparée par des points-virgules avec des virgules à l'intérieur des adresses, montrant pourquoi un décompte naïf sélectionne le mauvais caractère
Essayez un petit échantillon avec en-tête name;city;note et une ligne Ada;Paris;"Rendez-vous à 10 heures, près de la gare". Compter les virgules brutes peut favoriser à tort les virgules car la note contient des signes de ponctuation, en particulier sur plusieurs de ces lignes. L'analyseur de point-virgule renvoie trois champs sur les deux lignes ; l'analyseur de virgules ne fournit pas la même structure rectangulaire. Confirmez que l'aperçu affiche le nom, la ville et la note dans des colonnes distinctes avant de découper, de dédupliquer ou d'exporter. Si une ligne source contient une citation non fermée, inspectez cette ligne au lieu de la supprimer silencieusement pour améliorer le score.
Choisir le délimiteur de sortie - faire correspondre le séparateur au programme et aux paramètres régionaux qui liront ensuite le fichier
Le séparateur d'entrée et le séparateur de sortie sont des décisions différentes. Vous pouvez importer un fichier de point-virgule européen mais exporter du texte séparé par des virgules de style RFC pour un programme qui attend des virgules. Un rédacteur correct cite les champs contenant le délimiteur de sortie, les guillemets intégrés ou les sauts de ligne. Décidez si votre destinataire a besoin d'une nomenclature UTF-8 avant le téléchargement ; certaines applications de feuille de calcul en utilisent un pour reconnaître l'encodage, alors que de nombreux analyseurs souhaitent que le fichier ne l'utilise pas. Vérifiez l'en-tête téléchargé dans le programme de destination, pas seulement l'aperçu du navigateur.
Ce que cela ne couvre pas : les fichiers qui mélangent les délimiteurs entre les lignes et les exportations à largeur fixe qui n'utilisent aucun délimiteur.
La détection ne peut pas réparer un fichier qui change de séparateur à mi-parcours, ni déduire les colonnes dans une exportation à largeur fixe où aucun délimiteur n'existe. Il ne sait pas si une virgule citée fait partie d'une adresse postale ou d'une erreur de saisie de données : elle suit la syntaxe et non le sens. Le CSV Cleaner fera apparaître des lignes irrégulières et conservera leurs valeurs plutôt que de deviner comment supprimer les données d'un client. Utilisez son aperçu et ses avertissements pour diagnostiquer un problème du système source avant d'effectuer des étapes de nettoyage irréversibles.
Rendre le délimiteur explicite au lieu d'espérer : comment la réparation du délimiteur de ToolAcre CSV Cleaner produit un fichier avec un séparateur cohérent
Une supposition de délimiteur est une analyse factuelle de quelques lignes, et non une promesse écrite dans le fichier CSV. CSV Cleaner l'implémente localement dans votre navigateur, vous permet de choisir un séparateur différent et écrit un dialecte de sortie cohérent. Si un assistant d'importation devine différemment la semaine prochaine, enregistrez la convention de sortie à côté du fichier afin que le prochain lecteur n'ait pas à la redécouvrir.