J'ai le code Node.js suivant:Node.js analyser le fichier csv avec paresseux
new lazy(fs.createReadStream('file.csv'))
.lines
.forEach(function(line){
console.log(line.toString());
});
Cependant, je ne reçois que la dernière ligne de données de cette façon. Le contenu du fichier csv sont les suivantes:
123, Cassé
12345, volé
1.234.567, perdus
Qu'est-ce que je fais mal ici?
J'ai aussi ce code pour le même fichier:
fs.readFile(req.files.file.path, 'utf8', function (err, data) {
if (err) throw err;
var lines = data.split(/\r?\n/);
console.log(lines);
});
qui retourne le tableau suivant:
[ '123,broken\r12345,stolen\r1234567,lost' ]
Donc votre fichier est cassé, il devrait être '\ r \ n' pas juste' \ r'; ce qui est évident pour votre propre test. – Chad
veuillez élaborer – user1175817
La bibliothèque (et votre 'data.split()') recherchent soit '\ r \ n' (retour chariot, retour à la ligne) ou' \ n' (nouvelle ligne). Cependant, votre fichier csv utilise '\ r' comme séparateur de ligne. Ceci est une erreur; faites tout ce qui est en train d'écrire votre fichier csv d'utiliser '\ r \ n' ou' \ n'. – Chad