我正在使用the Papa Parse module将CSV从本地计算机转换为JSON。
我写了这段代码:
var fs = require('fs');
var Papa = require('papaparse');
var filePath = '../myCSVFile.csv';
Papa.parse(filePath, {
complete: function(results) {
fs.writeFile("./converted.json", JSON.stringify(results), function(err) {
if(err) {
return console.log(err);
}
console.log("finished!");
});
}
});
但是,在converted.json
中,我收到了此消息,而不是获取JSON对象。
{"data":[["../myCSVFile.csv"]],"errors":[{"type":"Delimiter","code":"UndetectableDelimiter","message":"Unable to auto-detect delimiting character; defaulted to ','"}],"meta":{"delimiter":",", "linebreak":"\n","aborted":false,"truncated":false,"cursor":19}}
我很确定我的SV文件格式正确。我的代码有问题吗?
答案 0 :(得分:2)
您正在使用的API会将您传入的字符串(您的文件名)视为要解析的实际CSV内容。你必须自己打开文件,阅读内容,然后传递它。
你可以通过“data”属性的值来告诉它:它是一个包含文件名的二维数组。它是您传递的CSV内容中唯一的“单元格”。