3

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

文件和代码在同一个目录

我的代码:

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


});

输出 :

行:[['test.csv']]

4

1 回答 1

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);
    }
});

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

于 2015-10-05T06:46:36.450 回答