Ce que fait cet outil
La ligne d’en-tête devient les clés, et chaque ligne suivante un objet du tableau. Les valeurs sont typées plutôt que mises entre guillemets aveuglément : 30 ressort en nombre 30, true en booléen.
Le délimiteur est détecté à la lecture, si bien qu’un export européen séparé par des points-virgules fonctionne sans rien régler.
Ce que la détection de types touche, et ce qu’elle laisse
Voici les règles qui comptent, parce que c’est là que les convertisseurs détruisent habituellement des données :
- un zéro en tête garde la valeur en chaîne —
01reste"01"; - l’hexadécimal et la notation exponentielle restent des chaînes :
0x10et1e5ne sont pas des nombres ici ; - un signe plus explicite garde le texte,
+7reste une chaîne, alors que-3devient un nombre ; trueetfalsedeviennent des booléens, en respectant la casse —TRUEreste une chaîne ;- un champ vide devient une chaîne vide, jamais
null; - le texte
nullreste la chaîne"null", le CSV n’ayant aucun moyen d’exprimer l’absence.
Une dernière, facile à manquer : l’espace autour d’un délimiteur fait partie du champ. Dans 1, 2 la seconde valeur vaut " 2" — une chaîne, avec son espace, et non le nombre 2.
Quand une ligne ne correspond pas à son en-tête
C’est une erreur, et c’est délibéré. Too many fields comme Too few fields indiquent le nombre attendu et le nombre analysé, ce qui suffit à localiser la ligne. Compléter ou tronquer en silence décalerait toutes les colonnes suivantes et vous rendrait un fichier d’apparence correcte.
Les lignes réellement vides sont ignorées. Une ligne dont tous les champs sont vides est conservée : c’est une vraie ligne.
Confidentiel par conception
Tout s’exécute localement dans votre navigateur en JavaScript. Vos données ne sont jamais envoyées sur un serveur, ce qui rend l’outil sûr pour des contenus sensibles, et il fonctionne hors ligne.