Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js CSV模块_Node.js - Fatal编程技术网

Node.js 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

我正在使用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(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没有类型。不使用引号的唯一好处是减少了生成的文件大小。当然,您可以使用引号来推断类型,但这非常危险。我说的是实际的模块,是它们的某种形式的类型推断选项