如何在婴儿解析器中为文件名提供输入

时间:2015-10-05 06:28:55

标签: node.js csv papaparse

我正在尝试使用婴儿解析器来解析csv文件,但如果我给出文件名,我的输出会低于输出

文件和代码在同一目录中

我的代码:

var Papa = require('babyparse');
var fs = require('fs');
var file = 'test.csv';
Papa.parse(file,{
    step: function(row){
        console.log("Row: ", row.data);
    }


});

Out put:

行:[[' test.csv' ]]

1 个答案:

答案 0 :(得分:10)

file必须是File对象:http://papaparse.com/docs#local-files。在nodejs中,您应该使用fs API加载文件的内容,然后将其传递给PapaParse:https://nodejs.org/api/fs.html#fs_fs_readfilesync_filename_options

var Papa = require('babyparse');
var fs = require('fs');
var file = 'test.csv';

var content = fs.readFileSync(file, { encoding: 'binary' });
Papa.parse(content, {
    step: function(row){
        console.log("Row: ", row.data);
    }
});

encoding选项很重要,将其设置为二进制适用于任何text / csv文件,如果您的文件是,则还可以将其设置为 utf8 在unicode。