2015-10-06 162 views
0

給定特定的行號,是否有辦法在CSV文件中獲取該行的數據,以便我可以處理該數據?使用Node.JS獲取CSV中的特定行數據

我希望這樣做,這樣我可以跟蹤我得到和操縱哪些行。

每個CSV模塊實際上讀取整個文件並解析數據,但我只需要引用而不是在文件被更改時加載整個文件。

我該怎麼做?

這是我的Node.js代碼:

var csv = require('csv'); 
var fs = require('fs'); 
var str = csv().from.stream(fs.createReadStream('test.csv')) 
str.transform(function(row){ 
    row.unshift(row.pop()); 
    return row; 
}) 
.on('record', function(row,index){ 
    console.log('#'+index+' '+JSON.stringify(row)); 
}); 

回答

0

可能是你需要的東西:https://www.npmjs.com/package/get-line

獲取CSV文件的報頭中的第一行(如果有的話),得到行你想要連接兩條線,用\n分開,並使用你平常的csv解析器來解析它,並得到一個很好的對象。

+0

var getLine = require('get-line'); var fs = require('fs'); var rs = fs.createReadStream('test.csv') // get line from line 10000 to 10010 var getLine = getLine({lines:[100,1500],newline:'\ n'},cb ); (line){ console.log(line); //返回數據的數組範圍 } 獲取輸入什麼 – Labeo

+0

你錯過了的例子中最重要的一行:'rs.pipe(函數getline)' – Shanoor

+0

一些測試後,我看到了這個庫多恩斯將任何參數傳遞給回調函數,因此您應該將其傳遞給您的csv流:https://www.npmjs.com/package/csv#pipe-example – Shanoor

相關問題