gpt4 book ai didi

node.js - 如何使用 papaparse 将对象数组正确转换为 CSV?

转载 作者:太空宇宙 更新时间:2023-11-04 00:52:54 25 4
gpt4 key购买 nike

我正在执行 mongdb 数据库查询,该查询下载对象数组,然后我想将其转换为 CSV。我正在使用 babyparse 这是 Node 的 papaparse 替代版本。

这就是我正在尝试的:

    Player.find({}).
exec(function(err, players) {
console.log(players.length);
var csv = papaparse.unparse(players, {
quotes: false,
delimiter: ',',
newline: '\n'
});

response.set({'Content-Type': 'application/force-download',
'Content-disposition':'attachment; filename=players.csv'});


response.send(200, csv);
});
}

但是,这不会提供正确的 CSV 文件,而是提供一些奇怪的内容,例如 csv 内容与 java 脚本函数内容的合并。

我该怎么做?

最佳答案

使用以下函数展平 JSON 数据

JSON.flatten = function(data) {
var result = {};
function recurse (cur, prop) {
if (Object(cur) !== cur) {
result[prop] = cur;
} else if (Array.isArray(cur)) {
for(var i=0, l=cur.length; i<l; i++)
if(cur[i].constructor === Object)
recurse(cur[i], prop + "[" + i + "]");
else
{

if(cur.length > 1)
{
result[prop] = (result[prop] || "") + cur[i] + ";";
}
else
{
result[prop] = cur;
}

}

if (l == 0)
result[prop] = [];
} else {
var isEmpty = true;
for (var p in cur) {
isEmpty = false;
recurse(cur[p], prop ? prop+"."+p : p);
}
if (isEmpty && prop)
result[prop] = {};
}
}
recurse(data, "");
return result;
}

根据您的情况进行修改:)

关于node.js - 如何使用 papaparse 将对象数组正确转换为 CSV?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31478894/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com