Node CSV, le parseur JavaScript de fichiers CSV

Le projet Node CSV fournit un parseur de fichiers CSV. En implémentant des mécanismes de lecture/écriture de flux, ce module peut analyser des fichiers CSV avec moins de mémoire par rapport à la lecture de l'intégralité du fichier en mémoire. Il a été testé et utilisé sur un gros fichier (plus de 2 Go).

En voici quelques caractéristiques :
  • respecte l'API streaming de NodeJS ;
  • s'appuie sur l'asynchronisme et les événements ;
  • prend en charge les délimiteurs, les quotes et les caractères d'échappement ;
  • détecte les sauts de ligne ;
  • supporte de grands ensembles de données ;
  • aucune dépendance externe.


Vous pouvez l'utiliser de la manière suivante :

Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
fs.createReadStream('./in')
  .pipe(csv())
  .pipe(fs.createWriteStream('./out'));

Ou bien ainsi :

Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
csv()
  .from.path('./in')
  .to.string(function(data) { console.log(data); });

Vous pouvez également ajouter des options de cette manière :

Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
from.options({ option: 'value' })

L'outil en est maintenant à sa version 0.2.

Le code source sur GitHub.
Le site officiel.
D'après un article sur DailyJS. Cet article parle également de Memoize.
Les meilleurs cours et tutoriels pour apprendre Node.js