Node.js CSV模块
我正在使用CSV模块,如下例所示。Node.js CSV模块,node.js,Node.js,我正在使用CSV模块,如下例所示。 我想知道是否有办法确保所有字段不作为字符串插入,例如数字1.23不作为字符串“1.23”插入 它似乎将所有内容都设置为类型字符串 var csv = require('csv'); var q = async.queue(myCollection.insert.bind(myCollection), 50); csv() .from.path(req.files.myCSV.path, {columns: true}) .transform(functi
我想知道是否有办法确保所有字段不作为字符串插入,例如数字
1.23
不作为字符串“1.23”
插入它似乎将所有内容都设置为类型
字符串
var csv = require('csv');
var q = async.queue(myCollection.insert.bind(myCollection), 50);
csv()
.from.path(req.files.myCSV.path, {columns: true})
.transform(function(data, index, cb){
q.push(data, function (err, res) {
if (err) return cb(err);
cb(null, res[0]);
});
})
.on('end', function () {
q.drain = function() {};
})
在csv.transform()中,在q.push()之前,可以使用例如parseInt转换字段:
data.fieldX = parseInt(data.fieldX);
data.fieldY = parseFloat(data.fieldX);
您还可以删除data.fieldY代码>或添加字段data.fullName=data.first+''+data.last代码>CSV中的所有内容都是字符串,CSV没有类型。不使用引号的唯一好处是减少了生成的文件大小。当然,您可以使用引号来推断类型,但这非常危险。我说的是实际的模块,是它们的某种形式的类型推断选项