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

Lab*_*beo 3 csv node.js 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);
    }


});
Run Code Online (Sandbox Code Playgroud)

出局:

行:[['test.csv']]

Sha*_*oor 10

file必须是File对象:http://papaparse.com/docs#local-files.在nodejs中,您应该使用fsAPI加载文件的内容,然后将其传递给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);
    }
});
Run Code Online (Sandbox Code Playgroud)

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