如何使用node.js将csv文件导入mysql?
现在我正在尝试使用库快速csv执行以下操作:如何使用node.js将csv文件导入mysql?,mysql,node.js,csv,import,contacts,Mysql,Node.js,Csv,Import,Contacts,现在我正在尝试使用库快速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(){
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”
你知道我怎样才能避免吗?我应该使用不同的库/方法吗
我面临的另一个问题是,我得到的结果是十六进制的。。。如何正确解析它?您可以使用节点模块“csv解析”
var csvParser=require('csv-parse');
fs.readFile(文件路径{
编码:“utf-8”
},函数(err,csvData){
如果(错误){
控制台日志(err);
}
csvParser(csvData{
分隔符:','
},函数(错误,数据){
如果(错误){
控制台日志(err);
}否则{
控制台日志(数据);
}
});
});
此处filePath是csv文件的路径,分隔符将与您的文件一致。它是分隔csv文件中字段的字符(可以是“,”,“.”等) 从第二个参数中删除
headers
属性。该CSV显然有57列,而您只提供了其中两列的标题。Hi-Techxxx,这种方法效果更好,但现在我面临这个问题:所有内容都是十六进制的,您将如何处理?@Cedric抱歉,但我不理解您的问题。如果你解释一下,我可以试着帮你。