2015-10-05 51 views
2

我試圖用嬰兒解析器解析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']

回答

9

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選擇是重要的,它設置爲二進制適用於任何文本/ csv文件如果你的文件是unicode,你也可以將它設置爲utf8

+0

如何將數據轉換爲json在嬰兒解析中 – Labeo

+0

只需使用'var data = Papa.parse(content)',它就會返回一個特殊對象:http://papaparse.com/docs#results如果你的csv有標題,你可以得到一個JSON,否則你會得到一個數組數組。 – Shanoor