node mysql node.js csv import contacts

cómo importar un archivo csv a mysql usando node.js?



load csv node js (1)

En este momento estoy intentando con la biblioteca fast-csv hacer esto:

var stream = fs.createReadStream("./google.csv"); csv .fromStream(stream, {headers : ["Name","E-mail 1 - Value"], ignoreEmpty: true}) .on("data", function(data){ console.log(data); }) .on("end", function(){ console.log("done"); });

Pero arroja este error: "desacuerdo del encabezado de columna esperado: 2 columnas obtuvieron: 57"

¿Sabes cómo puedo evitar eso? debería usar una biblioteca / enfoque diferente

Otro problema al que me enfrento es que obtengo el resultado en hexadecimal ... ¿cómo puedo analizarlo correctamente?


Puede usar el módulo de nodo ''csv-parse''.

  1. lea el archivo csv usando el módulo ''fs'' del nodo
  2. pasa los datos al analizador csv y obtendrás arry of array, donde la matriz interna representa cada fila.

Eche un vistazo al siguiente código.

var csvParser = require(''csv-parse''); fs.readFile(filePath, { encoding: ''utf-8'' }, function(err, csvData) { if (err) { console.log(err); } csvParser(csvData, { delimiter: '','' }, function(err, data) { if (err) { console.log(err); } else { console.log(data); } }); });

Aquí filePath es la ruta del archivo csv y el delimitador será según su archivo. Es el personaje que separa los campos en el archivo csv (puede ser '','', ''.'', Etc.).