Convertisseur CSV ⇔ JSON Lines (JSONL)
Convertissez entre des fichiers CSV et le format JSON Lines (JSONL, un objet JSON par ligne). Choisissez le délimiteur ; les lignes aux clés différentes sont fusionnées automatiquement. La conversion se fait entièrement dans le navigateur, rien n'est envoyé à un serveur.
Correspondance entre les lignes CSV et les lignes JSONL
| Ligne d'en-tête CSV + ligne de données | name,age,cityAlice,30,Tokyo |
|---|---|
| JSONL résultant (un objet par ligne) | {"name": "Alice", "age": "30", "city": "Tokyo"} |
Chaque ligne de données du CSV devient un objet JSON dont les clés proviennent de la ligne d'en-tête, produit sous forme d'une ligne JSONL. Dans l'autre sens (JSONL → CSV), la ligne d'en-tête est l'union de toutes les clés vues sur l'ensemble des lignes, et les lignes auxquelles il manque une clé donnée restent vides dans cette colonne.
Astuces
- Lors de la conversion de JSONL vers CSV, les lignes n'ont pas besoin d'avoir les mêmes clés ni le même ordre : l'outil construit la ligne d'en-tête à partir de l'union de toutes les clés rencontrées et aligne les colonnes automatiquement.
- Les cellules d'en-tête vides ou dupliquées sont automatiquement remplacées par des clés du type col{n} ou nom_2, afin qu'aucune valeur ne soit perdue ou écrasée.
- Les valeurs numériques, booléennes ou les objets/tableaux imbriqués sont écrits sous forme de texte dans la cellule CSV, si bien que le résultat s'ouvre sans problème dans Excel ou tout tableur.
- Combinez cet outil avec « CSV → JSON » et « JSONL ⇔ tableau JSON » pour circuler librement entre CSV, tableaux JSON et JSON Lines.
- Le côté CSV utilise un analyseur conforme à la RFC 4180 qui gère correctement les virgules et sauts de ligne à l'intérieur des cellules entre guillemets, si bien que les exports Excel complexes se convertissent sans erreur.
Questions fréquentes
Anecdote — Pourquoi JSON Lines est devenu la langue commune du machine learning et du traitement des logs
L'un des principaux moteurs de l'adoption de JSON Lines (JSONL) est la distribution de jeux de données pour le machine learning. Les données de fine-tuning pour les grands modèles de langage se composent souvent de millions de paires entrée-sortie, et les regrouper dans un seul tableau JSON signifie qu'il faut charger et analyser le fichier entier en mémoire avant de pouvoir lire quoi que ce soit. JSON Lines contourne ce problème en traitant chaque ligne comme un enregistrement autonome, ce qui permet de diffuser et de traiter des jeux de données énormes de manière incrémentale.
Les outils de traitement de logs ont adopté JSONL pour une raison similaire. Des plateformes comme Elasticsearch et Logstash sont conçues pour ingérer les événements un par un au fur et à mesure de leur production, et un format où chaque ligne se suffit à elle-même s'accorde bien plus naturellement à ce modèle d'ajout et d'analyse qu'un tableau JSON, qui n'a de sens qu'en tant que structure unique et indivisible.
Le CSV, quant à lui, reste fermement ancré partout où les données doivent être transmises entre équipes ou vérifiées d'un coup d'œil dans un tableur. En reliant directement ces deux formats très différents, cet outil permet d'injecter des données CSV directement dans un pipeline de machine learning, ou d'ouvrir un fichier de log JSONL dans Excel, en une seule étape.