Comment nettoyer un fichier CSV en désordre
Ouvrez CSV Cleaner et chargez le fichier avec le délimiteur lors de la détection automatique. Vérifiez d'abord le nombre de lignes et de colonnes : si le nombre de colonnes est de 1, le délimiteur est erroné et le définir sur un point-virgule ou une tabulation corrige généralement l'ensemble du fichier.
Examinez ensuite les avertissements de l'analyseur, qui nomment des numéros de ligne spécifiques, avant de toucher aux données. Nettoyez, puis exportez au format CSV ou JSON. Tout s'exécute dans un travailleur dans votre navigateur ; les lignes ne sont jamais téléchargées.
Pourquoi les exportations arrivent cassées
CSV est une famille de conventions plutôt qu'un format. Deux applications peuvent à la fois revendiquer la prise en charge du CSV et être en désaccord sur le délimiteur, le style de citation, la fin de ligne et le codage des caractères.
Le délimiteur est la surprise la plus courante. Les logiciels vendus dans les pays qui utilisent une virgule comme séparateur décimal exportent souvent des fichiers séparés par des points-virgules, car la virgule est déjà occupée. Ces fichiers se terminent toujours par .csv, et un outil qui suppose que les virgules réduisent chaque ligne en une seule colonne.
L'encodage est le deuxième. Un fichier UTF-8 commence souvent par une marque invisible d'ordre des octets de trois octets. Excel sous Windows l'utilise pour reconnaître UTF-8 ; de nombreux autres outils ne s'y attendent pas, il reste donc collé au premier nom d'en-tête et une colonne appelée id devient silencieusement une colonne à laquelle aucune recherche ne correspondra jamais.
Diagnostiquer en trois chiffres
La détection automatique analyse un échantillon avec chaque délimiteur candidat et sélectionne celui qui produit le résultat rectangulaire le plus cohérent, c'est pourquoi elle n'est pas trompée par les virgules à l'intérieur des champs entre guillemets d'un fichier séparé par des points-virgules. C’est vrai la plupart du temps ; l'aperçu vous indique quand ce n'est pas le cas.
- Nombre de colonnes. Si c'est 1, le délimiteur est erroné. Essayez le point-virgule, puis la tabulation.
- Nombre de lignes. S'il est bien plus élevé que prévu, le fichier contient probablement des sauts de ligne cités que quelque chose en amont a déjà mutilés.
- Compte d’avertissement. Chaque avertissement nomme un numéro de ligne, compté comme un éditeur de texte, afin que vous puissiez aller chercher.
Lire les avertissements
Une ligne irrégulière signifie qu’une ligne comporte un nombre de cellules différent de celui de l’en-tête. Rien n'est supprimé pour ranger la grille : les lignes courtes sont remplies de blancs et les lignes longues conservent leurs valeurs supplémentaires. Supprimer silencieusement les données de quelqu'un pour donner à un tableau un aspect rectangulaire est la pire chose qu'un outil de nettoyage puisse faire, c'est pourquoi cela n'est pas fait.
Une citation non fermée signifie qu'une double citation a été ouverte et jamais fermée, donc tout ce qui a suivi a été lu comme un énorme champ. Il s'agit presque toujours d'une véritable corruption dans la source, et il vaut la peine de corriger l'endroit où le fichier a été produit plutôt que d'appliquer des correctifs en aval.
L'outil les signale plutôt que de les réparer, car les deux cas ont plusieurs correctifs possibles et vous seul savez lequel s'applique.
Nettoyer dans le bon ordre
L'exportation sécurisée par injection de formule est activée par défaut et constitue ici la seule option ayant une véritable conséquence en matière de sécurité. Une cellule commençant par =, +, - ou @ est traitée comme une formule par les tableurs, de sorte qu'une valeur provenant d'une source non fiable peut s'exécuter lorsque quelqu'un ouvre votre fichier. L'exportation sécurisée préfixe ces cellules avec une apostrophe, ce qui les empêche de calculer, y compris celles que vous aviez l'intention de calculer, ce qui est inhérent à l'atténuation plutôt qu'à un bug.
- Coupez d'abord les espaces. Deux lignes ne différant que par un espace de fin ne sont pas des doublons tant que vous ne les coupez pas.
- Supprimez ensuite les lignes en double. La première occurrence est conservée, donc l’ordre des survivants reste inchangé.
- Renommez les en-têtes et choisissez les colonnes à exporter.
- Triez si nécessaire. Les colonnes numériques sont détectées et triées numériquement, donc 9 précède 10.
- Vérifiez les options d'exportation avant de télécharger, en particulier le paramètre d'injection de formule.
Choisir l'encodage d'export
Activez la marque de commande UTF-8 byte si le fichier est destiné à Excel sous Windows, qui l'utilise pour détecter l'encodage ; sans cela, les caractères accentués et les écritures non latines peuvent apparaître comme mojibake sur un double-clic.
Laissez-le OFF si le fichier alimente un script, une importation de base de données ou un autre programme, car certains analyseurs stricts traitent la marque comme une donnée.
Exemple concret : une exportation de 12 000 lignes qui s'ouvre sous la forme d'une seule colonne
Un export client depuis un CRM européen s'ouvre dans votre éditeur sous la forme de 12 000 lignes et d'une seule colonne. La ligne d'en-tête indique Nom ; Email ; Pays ; Date d'inscription.
- Chargez le fichier. La détection automatique rapporte 4 colonnes ; si ce n’est pas le cas, définissez manuellement le délimiteur sur le point-virgule.
- Lisez les avertissements : disons 3 lignes irrégulières à 418, 2 905 et 7 110.
- Regardez ces trois lignes. Ils contiennent un point-virgule non échappé à l’intérieur du nom de l’entreprise : les cellules supplémentaires sont conservées, donc rien n’a été perdu.
- Coupez les espaces, puis supprimez les doublons.
- Exportez au format CSV avec une virgule comme délimiteur et l'ordre des octets, car le fichier est destiné à un collègue qui utilise Excel.
Résultat : Un fichier UTF-8 séparé par des virgules avec une marque d'ordre des octets, quatre colonnes et les lignes en double disparues. Les trois lignes problématiques sont toujours présentes avec leurs cellules supplémentaires intactes, signalées pour que vous puissiez les corriger à la source plutôt que de les supprimer pour rendre le tableau bien rangé.
Ouvrez l'outil
Nettoyer un CSV dans votre navigateur
Analyse dans un Web Worker sur votre appareil, conserve chaque cellule trouvée et signale les problèmes qu'il ne devinera pas.
Ce que cela ne couvre pas
- L'intégralité du fichier est conservée dans la mémoire de votre appareil. Le plafond est de 50 MB, et un téléphone aura du mal avant un ordinateur portable.
- Seules les 100 premières lignes sont affichées dans l'aperçu, bien que chaque ligne soit nettoyée et exportée.
- La détection du codage est limitée à la marque de commande UTF-8 byte. Un fichier enregistré au format Windows-1252 ou Shift-JIS est lu au format UTF-8 et peut afficher des caractères de remplacement ; réexportez-le au format UTF-8 à partir de l'application source.
- Seul UTF-8 est écrit. Les encodages hérités ne sont pas produits.
- Il n'y a pas de support multi-feuilles, car CSV n'a pas de concept de feuilles.
- Un fichier dont les citations sont déjà corrompues est signalé et non réparé.
- L'annulation est limitée aux 20 dernières opérations.