Les fichiers CSV sont un format de stockage de données pratique et vous pouvez les utiliser dans vos projets Node.js pour gérer tout, de la configuration aux données brutes. Ils peuvent simplifier le partage d'informations entre deux applications, même si elles sont écrites dans des langues différentes.
Dans Node.js, vous pouvez utiliser plusieurs méthodes pour lire et écrire des fichiers CSV.
Ce tutoriel vous montre comment utiliser le fs modules et rapide-csv Package NPM pour lire et écrire des fichiers CSV.
Configuration du projet
Pour suivre ce didacticiel, assurez-vous que Node.js est installé sur votre machine. Exécutez cette commande pour vérifier :
nœud -v
Il doit renvoyer un numéro de version. Si vous n'avez pas installé Node.js, suivez les instructions de ce tutoriel d'installation faire cela.
Dans votre répertoire préféré, créez un nouveau dossier nommé parse-csv.
mkdir analyse-csv
Aller vers analyse-csv et créer un nouveau fichier. Nommez-le parseCSV.js.
CD analyse-csv
toucheparseCSV.js
Vous pouvez maintenant commencer à travailler avec CSV.
Utilisation du module fs
Le module fs (abréviation de système de fichiers) contient plusieurs commandes permettant d'interagir avec le système de fichiers dans Node.js.
Lire tout le fichier d'un coup
Le lireFichier() et readFileSync() commandes de la fs module vous permet de lire le contenu du fichier dans Node.js. La différence entre ces commandes est que readFileSync() est synchrone - il bloque l'exécution d'autres JavaScript - tandis que lireFichier() est asynchrone ou non bloquant.
Étant donné que la lecture des fichiers CSV peut prendre un peu de temps, en particulier pour les fichiers volumineux, il est souvent préférable d'utiliser la commande non bloquante, lireFichier(), comme indiqué ci-dessous.
constante fs = exiger('fs');
fs.readFile('csvdemo.csv', 'utf8', fonction (erreur, données) {
/* analyser les données */
});
Si vous n'avez pas d'exemple de fichier CSV, vous pouvez en générer un à partir de moqueur. Vous pouvez également apprendre à créer un fichier CSV toi même.
Lire ligne par ligne
Tandis que lireFichier() fonctionne, il consomme beaucoup de mémoire car il lit l'intégralité du fichier CSV en une seule fois. C'est un problème, surtout lorsque vous travaillez avec de gros fichiers CSV. Une alternative est de lire une ligne à la fois en utilisant le fs.createReadStream() commande.
constante fs = exiger("fs");
constante ligne de lecture = exiger("readline");
flux constant = fs.createReadStream("./csvdemo.csv");
constante rl = readline.createInterface({ saisir: flux });
laisser données = [] ;rl.on("doubler", (ligne) => {
data.push (ligne.split(","));
});
rl.on("proche", () => {
console.log (données);
});
Ici, vous passez le nom du fichier CSV à fs.createReadStream() pour créer un flux lisible. Les flux vous permettent de travailler avec de grandes quantités de données en vous permettant d'y accéder par blocs.
Une fois que vous avez créé le flux lisible, transmettez-le à readline.createInterface() méthode. Le ligne de lecture Le module fournit une interface pour lire les données une ligne à la fois. Vous pouvez maintenant pousser chaque ligne vers le tableau de données au fur et à mesure de sa lecture.
Notez, cependant, que ce code divise simplement chaque ligne par des virgules. Bien que cela fonctionne avec le fichier CSV le plus basique, le format est en fait plus compliqué que son nom ne l'indique. L'analyse manuelle des fichiers CSV n'est pas une approche robuste, surtout si vous ne contrôlez pas vous-même les données. Dans la plupart des situations, vous devez utiliser une bibliothèque CSV.
Utiliser fast-csv
Pour analyser les fichiers CSV de manière fiable, vous pouvez utiliser une bibliothèque comme rapide-csv, qui est disponible sous forme de package npm. Il facilite non seulement la lecture des fichiers CSV, mais également leur formatage.
Pour commencer, initialisez npm et installer rapide-csv.
npm init -y
npm i fast-csv
Lisez les fichiers CSV en utilisant fast-csv comme suit.
constante fs = exiger('fs')
constante CSV = exiger('rapide-csv');
constante données = []
fs.createReadStream('./csvdemo.csv')
.tuyau(CSV.parser({ en-têtes: vrai }))
.sur('Erreur', erreur => console.error (erreur))
.sur('Les données', ligne => data.push (ligne))
.sur('finir', () => console.log (données));
Dans le code ci-dessus, commencez par créer un flux lisible à partir du fichier CSV, puis connectez-le à la méthode d'analyse à partir de CSV rapide en utilisant tuyau(). Notez que vous passez l'option headers à csv.parse(). Cela saute la première ligne. Définir les en-têtes sur faux si la première ligne de votre fichier CSV ne contient pas d'en-têtes.
Comme le fichier CSV est lu une ligne à la fois, vous poussez chaque ligne vers le tableau de données. Une fois l'intégralité du fichier lu, vous pouvez manipuler le contenu du tableau de données comme vous le souhaitez.
Il y a plus d'une façon d'analyser un CSV
Les fichiers CSV sont utiles pour stocker de grands ensembles de données car il est facile de les analyser. Dans Node.js, vous pouvez utiliser le module fs intégré ou les packages NPM.
L'utilisation d'une bibliothèque comme fast-csv est beaucoup plus facile et plus robuste que d'écrire votre propre code d'analyse manuellement. Certains autres packages pour l'analyse CSV sont analyseur csv et papa analyseur.
Un guide pour débutants sur les API RESTful dans Node.js
Lire la suite
Rubriques connexes
- Programmation
- Programmation
- Javascript
A propos de l'auteur

Mary Gathoni est une développeuse de logiciels passionnée par la création de contenu technique non seulement informatif mais également engageant. Lorsqu'elle ne code pas ou n'écrit pas, elle aime passer du temps avec des amis et être à l'extérieur.
Abonnez-vous à notre newsletter
Rejoignez notre newsletter pour des conseils techniques, des critiques, des ebooks gratuits et des offres exclusives !
Cliquez ici pour vous abonner