Skip to main content
CheckTown
Données

Convertisseur CSV en JSONL : creer des fichiers JSON Lines

Publié le 5 min de lecture
Dans cet article

Qu'est-ce que JSON Lines ?

JSON Lines (aussi appele JSONL ou Newline-Delimited JSON, NDJSON) est un format texte ou chaque ligne est un objet JSON valide. Contrairement au JSON standard qui enveloppe tout dans un tableau, JSONL place un enregistrement par ligne sans crochets englobants. Cela le rend ideal pour le streaming, l'ajout et le traitement de grands ensembles de donnees ligne par ligne.

Un fichier JSONL typique ressemble a ceci : chaque ligne contient un objet JSON complet avec ses propres cles et valeurs. Il n'y a pas de virgules entre les lignes et pas de tableau englobant. C'est cette simplicite qui rend le format puissant pour les pipelines de donnees, les fichiers de logs et les datasets de machine learning.

Pourquoi JSONL est important

JSONL est devenu le format privilegie pour plusieurs cas d'utilisation importants en ingenierie de donnees moderne et plateformes cloud.

  • Traitement en streaming -- parce que chaque ligne est independante, vous pouvez traiter les fichiers ligne par ligne sans charger l'ensemble du dataset en memoire, essentiel pour les fichiers de plusieurs gigaoctets
  • Imports BigQuery et cloud -- Google BigQuery, Amazon Athena et d'autres entrepots de donnees cloud supportent nativement JSONL pour le chargement de donnees, en faisant le format standard pour les imports de donnees cloud
  • Datasets de machine learning -- de nombreux frameworks ML dont Hugging Face, le fine-tuning OpenAI et l'entrainement BERT attendent des donnees au format JSONL avec un exemple par ligne
  • Fichiers de logs et flux d'evenements -- les logs d'applications utilisent souvent JSONL car de nouveaux evenements peuvent etre ajoutes a un fichier sans modifier le contenu existant ou maintenir la syntaxe de tableau

Essayez gratuitement — sans inscription

Convertir CSV en JSONL →

Convertir CSV en JSONL

La conversion de CSV en JSONL mappe chaque ligne de votre fichier CSV a un objet JSON ou les en-tetes de colonnes deviennent les cles.

  • En-tetes comme cles -- la premiere ligne de votre fichier CSV fournit les noms de proprietes pour chaque objet JSON, donc les en-tetes de colonnes doivent etre propres et coherents
  • Detection du delimiteur -- le convertisseur gere les delimiteurs virgule, point-virgule, tabulation et pipe, en detectant automatiquement le format ou en vous laissant le specifier explicitement
  • Inference de type -- les valeurs numeriques sont converties en nombres JSON au lieu de chaines, et les cellules vides peuvent etre sorties comme null ou omises entierement selon votre preference

Questions frequemment posees

Quelle est la difference entre JSONL et le JSON standard ?

Le JSON standard enveloppe tous les enregistrements dans un tableau avec des crochets et les separe par des virgules. JSONL place un objet JSON par ligne sans enveloppe de tableau ni virgules entre les enregistrements. Cela signifie que vous pouvez ajouter a un fichier JSONL sans modifier le contenu existant, le traiter ligne par ligne sans parseur complet, et le streamer sans mettre en tampon le fichier entier.

Quand utiliser JSONL plutot que CSV ?

Utilisez JSONL quand vos donnees ont des structures imbriquees, des colonnes inconsistantes, ou doivent etre consommees par des API et services cloud. Le CSV est mieux pour les donnees tabulaires simples qui seront ouvertes dans des tableurs. JSONL preserve les types de donnees (nombres, booleens, null) tandis que CSV traite tout comme du texte. JSONL gere aussi les valeurs contenant des virgules et des retours a la ligne sans problemes d'echappement.

Quelle extension de fichier utiliser ?

Les extensions les plus courantes sont .jsonl et .ndjson. Certains outils acceptent aussi .json avec un objet par ligne. Utilisez .jsonl pour plus de clarte car cela indique immediatement a quiconque regarde le fichier qu'il est delimite par des retours a la ligne plutot que du JSON standard. BigQuery et la plupart des outils cloud acceptent les trois extensions.

Les fichiers JSONL peuvent-ils etre streames ?

Oui, c'est l'un des principaux avantages de JSONL. Parce que chaque ligne est independante et autonome, vous pouvez lire et traiter une ligne a la fois en utilisant une logique readline simple dans n'importe quel langage de programmation. Cela rend JSONL ideal pour traiter des datasets trop volumineux pour tenir en memoire, contrairement au JSON standard qui necessite l'analyse de la structure complete du tableau.

Outils associés