Cómo leer el archivo csv en el nodo js

Estoy tratando de leer un archivo csv usando el nodo js. Ella es mi codigo

fs.readFile(config.csvUploadPath, function read(err, data) { if (err) { throw err; } console.log(data + 'my data') }); 

CONSOLA:

 ID D11 D33 D55 

Aquí quiero obtener los elementos en el ID de columna y almacenarlos en una matriz. ¿Cómo puedo hacer eso? ¿Alguien me puede sugerir ayuda? Gracias. Mi controlador

 var partnersModel = new partners(params); fs.readFile(config.csvUploadPath, function read(err, data) { if (err) { throw err; } dataArray = data.toString().split(/\r?\n/); dataArray.forEach(function(v,i){ if(v !== 'DUI'){ partnersModel.dui.push(v); } }); }); partnersModel.save(function(error, response){ 

Usa una biblioteca, CSV tiene muchos errores. He venido a disfrutar del paquete csv . Se encuentra aquí: https://www.npmjs.com/package/csv . Aquí hay un ejemplo muy rápido utilizando la API async.

 const fs = require('fs') var parse = require('csv-parse') fs.readFile(inputPath, function (err, fileData) { parse(fileData, {columns: false, trim: true}, function(err, rows) { // Your CSV data is in an array of arrys passed to this callback as rows. }) }) 

Debido a que su archivo no tiene múltiples valores por fila y no contiene delimitadores además de la nueva línea, solo es trivialmente CSV. Tal vez String.prototype.split() es para ti?

 const fs = require('fs') fs.readFile(inputPath, 'utf8', function (err, data) { var dataArray = data.split(/\r?\n/); //Be careful if you are in a \r\n world... // Your array contains ['ID', 'D11', ... ] }) 

De ¿Cómo leer los datos del archivo * .CSV usando javascript? , usa la librería jQuery-CSV.

Nota: la biblioteca está diseñada para manejar cualquier información CSV que sea compatible con RFC 4180, incluidos todos los casos desagradables que la mayoría de las soluciones “simples” pasan por alto.

 var fs = require('fs'); var $ = jQuery = require('jquery'); $.csv = require('jquery-csv'); var sample = './path/to/data/sample.csv'; fs.readFile(sample, 'UTF-8', function(err, csv) { $.csv.toArrays(csv, {}, function(err, data) { for(var i=0, len=data.length; i 

Fragmento de código de los ejemplos de jquery-csv aquí .