Convertir un CSV en JSON
Chaque ligne un objet, chaque en-tête une clé.
- Tableau, JSON Lines ou tableaux
- Nombres et booléens détectés
- Les identifiants restent des chaînes
- Rien n’est envoyé
1.Ouvrez le fichier
CSV ou TSV. Glissez-le ici, ou choisissez un fichier.
Pourquoi ça existe
Convertir du CSV en JSON paraît facile, et les convertisseurs habituels le rendent facile en se trompant sur les types : tout devient une chaîne, ou tout ce qui a l’air numérique devient un nombre, y compris le code postal avec son zéro en tête et l’identifiant à 18 chiffres que JavaScript ne sait pas représenter exactement. Ici, chaque colonne est décidée d’après toutes ses valeurs, et celles qui ressemblent seulement à des nombres sont laissées telles quelles.
Ce que ça fait
- Écrit un tableau d’objets indexés par la ligne d’en-tête, du JSON Lines avec un objet par ligne, ou un tableau de tableaux avec l’en-tête en premier.
- Détecte les colonnes entièrement composées de nombres ou de vrai/faux et les écrit sans guillemets.
- Garde en chaînes les colonnes avec des zéros en tête ou de plus de 15 chiffres, car un nombre JSON les modifierait.
- Transforme les cellules vides en null plutôt qu’en chaîne vide, ou garde tout en chaînes si vous préférez.
- Indente pour la lecture, ou écrit le fichier le plus léger possible.
Quelle structure choisir
Un tableau d’objets est ce qu’attendent la plupart des API et du code JavaScript. Le JSON Lines convient aux gros fichiers et aux outils qui traitent un enregistrement à la fois, comme BigQuery, Elasticsearch et jq. Un tableau de tableaux est le plus compact et garde l’ordre des colonnes explicite.
Questions
- Pourquoi ma colonne d’identifiants reste-t-elle une chaîne ?
- Parce que la transformer en nombre la modifierait. Un zéro en tête est supprimé par n’importe quel analyseur JSON, et les entiers de plus de 15 ou 16 chiffres perdent en précision en JavaScript. Si toutes les valeurs d’une colonne sont de simples nombres sans l’un ni l’autre problème, elle est écrite en nombres.
- Que deviennent les cellules vides ?
- Elles deviennent null quand la détection des types est activée, car un CSV ne permet pas de distinguer une chaîne vide d’une valeur absente. Sans détection, toutes les valeurs, vides comprises, sont des chaînes.
- Peut-il produire du JSON imbriqué ?
- Le CSV est plat, donc le JSON produit l’est aussi : un seul niveau de clés par enregistrement. Pour l’inverse, du JSON imbriqué vers le CSV, c’est l’outil JSON vers CSV.
Les autres outils
- Ouvrir un fichier CSV en ligneDéposez un fichier. Il s’ouvre ici, et il reste ici.Ouvrez-le
- Exécuter du SQL sur un fichier CSVDu vrai SQL sur votre fichier, sans installer de base de données.Ouvrez-le
- Fusionner des fichiers CSV en un seulPlusieurs fichiers en entrée, un seul en sortie, colonnes rapprochées par nom.Ouvrez-le
- Supprimer les doublons d’un CSVDes doublons sur les colonnes que vous dites identifier une ligne.Ouvrez-le
- Comparer deux fichiers CSVAjouts, suppressions, modifications, rapprochés sur une clé et non ligne à ligne.Ouvrez-le
- Convertir un CSV en PDFUn CSV mis en page comme un tableau lisible, enregistré en PDF.Ouvrez-le
- Convertir un CSV en ExcelUn vrai .xlsx, sans que rien n’ait changé en route.Ouvrez-le
- Convertir du JSON en CSVUn arbre aplati en tableau que l’on peut ouvrir partout.Ouvrez-le
- Convertir Excel en CSVToutes les feuilles d’un classeur, en CSV UTF-8 propre.Ouvrez-le
- Découper un fichier CSVUn fichier trop gros pour servir, en plusieurs qui le sont moins.Ouvrez-le
- Nettoyer un CSV en désordreAllemagne, allemagne et « Allemagne » redeviennent une seule valeur.Ouvrez-le
- Convertir un CSV en instructions SQL INSERTUn CSV en entrée, un script .sql que n’importe quelle base exécute.Ouvrez-le