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 |
1 2 3 | fs.createReadStream('./in') .pipe(csv()) .pipe(fs.createWriteStream('./out')); |
Ou bien ainsi :
Code javascript : | Sélectionner tout |
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 |
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