如何使用node.js将csv文件导入到mysql?

现在我正在尝试图书馆fast-csv这样做:

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"); }); 

但它会抛出这个错误:“列标题不匹配预期:2列得到:57”

你知道我怎么能避免这种情况? 我应该使用不同的库/方法吗?

我面临的另一个问题是,我得到的结果是hex的…我怎样才能正确parsing它?

您可以使用节点模块“csv-parse”。

  1. 使用节点“fs”模块读取csv文件
  2. 将数据传递给csvparsing器,您将获得数组的arry,其中inner数组表示每一行。

看看下面的代码。

 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); } }); }); 

这里filePath是csv文件的path,分隔符将按照你的文件。 它是在csv文件中分隔字段的字符(可以是',','。'等)。