javascript - 使用键作为标题和值将对象集合转换为 CSV

标签 javascript csv

我有一个像这样的对象 myObject

 0:
    timestamp: 1525879470
    name: "testing"
    lastname: "testingdone"
 1: 
    timestamp: 1525879470
    name: "testing2"
    lastname: "testingdone2"

我正在寻找一种将它转换为 csv 的方法,就像这样

timestamp,name,lastname
1525879470,testing,testingdone
1525879470,testing2,testingdone2

好消息是我可以提取标题

var headers = Object.keys(myObject.reduce(function (result, obj) {
                            return Object.assign(result, obj);
                        }, {}));

headers var 会给我一个像这样的标题数组

数组(3):时间戳、姓名、姓氏

我只是想从对象中提取值,可能是在像标题这样的数组中,然后最后将其转换为 CSV,如上所示。我尝试使用数组映射,但出于某种原因我无法弄清楚

最佳答案

如果这是对象数组,您可以先获取 header ,然后获取值并从中创建字符串。

const data = [ {timestamp: 1525879470,name: "testing",lastname: "testingdone"
}, {timestamp: 1525879470,name: "testing2",lastname: "testingdone2"}]

let csv = '';
let header = Object.keys(data[0]).join(',');
let values = data.map(o => Object.values(o).join(',')).join('\n');

csv += header + '\n' + values;
console.log(csv)

关于javascript - 使用键作为标题和值将对象集合转换为 CSV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50257068/

相关文章:

javascript - Jquery 切换或隐藏/显示按顺序在其他父项上有链接的元素?

javascript - ReactJS 和公共(public)文件夹中的图像

javascript - JS - 如何在发件人域未知时安全地使用 window.postMessage

javascript - 重叠页面容器边框与 float div 边框

python - 如何在 Django 中测试文件响应?

javascript - .CSV 文件数组到 CSS 元素

csv - 将 csv 文件添加到 HTTP POST

javascript - 将字符串作为变量传递给文字方法类型提示

javascript - 如何在nodejs中更新csv文件

python - 如何基于逗号拆分字符串作为分隔符,双引号内的逗号保留在 python 中