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,city
Alice,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

Le CSV est pratique pour ouvrir les données dans un tableur et les vérifier d'un coup d'œil, tandis que JSON Lines peut être diffusé et analysé ligne par ligne, ce qui explique son usage courant pour les jeux de données de machine learning et les pipelines de logs. Cet outil fait le lien entre les deux sans conversion manuelle.

Chaque ligne de données (hors en-tête) devient exactement une ligne JSONL, la ligne d'en-tête fournissant les noms de clés de l'objet JSON résultant.

Oui. Lors de la conversion de JSONL vers CSV, l'outil rassemble toutes les clés apparaissant sur l'ensemble des lignes en une seule ligne d'en-tête combinée ; toute ligne à laquelle il manque une clé reçoit simplement une cellule vide dans cette colonne.

Oui : sélectionnez « Tabulation » comme délimiteur, et les deux sens fonctionnent avec des données séparées par tabulation au lieu de virgules.

Non. Toute la conversion s'effectue localement dans votre navigateur via JavaScript, si bien que rien de ce que vous saisissez ou collez n'est jamais transmis nulle part.
ツールくん

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.

→ Voir toutes les anecdotes