如何使用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”。
- 使用节点“fs”模块读取csv文件
- 将数据传递给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文件中分隔字段的字符(可以是',','。'等)。