2012-04-19 119 views
15

我正在努力找到一種方法來將數據寫入Node.js中的CSV在Node.js中寫入CSV

有幾個CSV插件可用,但他們只寫入標準輸出。 理想情況下,我想使用循環在上逐行寫

在此先感謝。

+2

* 「然而他們只 '寫' 到標準輸出」 *這似乎真的** **令人吃驚。他們不會寫入任何可寫的'Stream',它**有**是'stdout'?! – 2012-04-19 11:35:25

+0

是否可以包含指向已測試模塊的鏈接,以便其他人可以查看它們和/或知道建議哪些備選項? – 2012-04-19 11:54:43

+0

有一個使用nodejs生成CSV的教程。 http://programmerblog.net/generate-csv-using-nodejs/ – 2017-11-07 09:26:47

回答

16

node-csv-parsernpm install csv)的文檔明確指出它可以與流一起使用(請參閱fromStream,toStream)。所以它不是硬編碼使用標準輸出。

當你npm search csv也出現了其他幾個CSV解析器 - 你可能也想看看它們。

0

下面是一個使用csv-stringify編寫適合在內存中csv文件使用fs.writeFile數據集一個簡單的例子。

import stringify from 'csv-stringify'; 
import fs from 'fs'; 

let data = []; 
let columns = { 
    id: 'id', 
    name: 'Name' 
}; 

for (var i = 0; i < 10; i++) { 
    data.push([i, 'Name ' + i]); 
} 

stringify(data, { header: true, columns: columns }, (err, output) => { 
    if (err) throw err; 
    fs.writeFile('my.csv', output, (err) => { 
    if (err) throw err; 
    console.log('my.csv saved.'); 
    }); 
});