2013-04-19 4 views
3

Теперь у меня есть несколько JSON в моем MongoDB, такие как:Как писать в файл CSV с несколькими строками и столбцами

{ 
    title: "title_1", 
    content: "content_1", 
    author: "author_1" 
} 

И я хочу, чтобы написать эти данные в CSV-файл с ниже формате:

title content  author 
title_1 content_1 author_1 
title_2 content_2 author_2 
... 

Я использовал модуль node-csv-parser. Но это всегда пишут только в первом столбце в файле CSV, такие как:

title       content   author 
title_1,content_1,author_1 
title_1,content_1,author_2 
... 

Что я должен сделать, чтобы достичь своей цели? Пожалуйста, покажите мне несколько примеров. Любая помощь будет принята с благодарностью!

ответ

3

преобразовать во вложенные массивы, присоединиться.

var array = [ 
    { 
    title: "title_1", 
    content: "content_1", 
    author: "author_1" 
    }, 
    { 
    title: "title_1", 
    content: "content_1", 
    author: "author_2" 
    } 
]; 
var keys = Object.keys(array[0]); 
var csv = [keys.join('\t')]; 
array.forEach(function (data) { 
    var row = []; 
    keys.forEach(function (key) { 
    row.push(data[key]); 
    }); 
    csv.push(row.join('\t')); 
}); 
csv = csv.join('\n'); 

выход:

title content author 
title_1 content_1 author_1 
title_1 content_1 author_2 
+0

А потом? Что делать, чтобы записать его в несколько столбцов в файле csv? – EpsonZhao

+0

do, вы имеете в виду все закладки с разделителями? Я скорректировал свой пример, чтобы использовать вкладки. – generalhenry

+0

Какой модуль вы используете? Я использую модуль node-csv-parser, но вкладка не работает. – EpsonZhao