节点创建文件并将选定的对象值写入其中
Node create file and write selected object values to it
通过我的函数从一组对象中获取值并将这些值写入 csv 文件的最佳方法是什么?
物体会像这样穿过:
[ { objectTo:
{ employeeName: 'John',
employeeID: '234234',
DOB: '2333'},
employeeCurrent: true,
employeePast: false},
{ objectTo:
{ employeeName: 'Janet',
employeeID: '23423432',
DOB: '23333' },
employeeCurrent:true,
employeePast: false} ]
我想在一个单元格中获取像 objects1.objectTo.employeeName, objects1.objectTo.DOB, objects1.employeeCurrent
这样的对象,但将每个 objectTo 写在它自己的行中。
我试过循环并使用 for 循环设置它,然后将值传递给 writeFile,但这不起作用。最好的方法是什么?
我也试过使用库下划线给我值,但这也不起作用,只是写出了整个对象:
var objectsToFile = function(objectsTotal){
objectsTotal = _.values(objectsTotal, function(value) {
return value.objectTo.employeeName;
});
objectsTotal = _.values(objectsTotal, function(value) {
return value.employeeCurrent;
});
objectsTotal = _.values(objectsTotal, function(value) {
return value.employeePast;
});
writeFile('objectsTotalet.csv', util.inspect(objectsTotal), function(err) {
if (err) console.log(err);
});
};
CSV 格式的预期输出(objects1.objectTo.employeeName、objects1.objectTo.DOB、objects1.employeeCurrent):
约翰 2333 正确
珍妮特 23333 是的
let obj = [ { objectTo:
{ employeeName: 'John',
employeeID: '234234',
DOB: '2333'},
employeeCurrent: true,
employeePast: false},
{ objectTo:
{ employeeName: 'Janet',
employeeID: '23423432',
DOB: '23333' },
employeeCurrent:true,
employeePast: false} ]
const csvString = obj.map(item => {
return [item.objectTo.employeeName, item.objectTo.DOB, item.employeeCurrent]
}).join('\n')
console.log(csvString)
// John,2333,true
// Janet,23333,true
如果您希望它们都在同一行,只需使用 ','
而不是 '\n'
加入它们
获得字符串后,您可以使用 fs
将它们写入 csv
文件
通过我的函数从一组对象中获取值并将这些值写入 csv 文件的最佳方法是什么?
物体会像这样穿过:
[ { objectTo:
{ employeeName: 'John',
employeeID: '234234',
DOB: '2333'},
employeeCurrent: true,
employeePast: false},
{ objectTo:
{ employeeName: 'Janet',
employeeID: '23423432',
DOB: '23333' },
employeeCurrent:true,
employeePast: false} ]
我想在一个单元格中获取像 objects1.objectTo.employeeName, objects1.objectTo.DOB, objects1.employeeCurrent
这样的对象,但将每个 objectTo 写在它自己的行中。
我试过循环并使用 for 循环设置它,然后将值传递给 writeFile,但这不起作用。最好的方法是什么?
我也试过使用库下划线给我值,但这也不起作用,只是写出了整个对象:
var objectsToFile = function(objectsTotal){
objectsTotal = _.values(objectsTotal, function(value) {
return value.objectTo.employeeName;
});
objectsTotal = _.values(objectsTotal, function(value) {
return value.employeeCurrent;
});
objectsTotal = _.values(objectsTotal, function(value) {
return value.employeePast;
});
writeFile('objectsTotalet.csv', util.inspect(objectsTotal), function(err) {
if (err) console.log(err);
});
};
CSV 格式的预期输出(objects1.objectTo.employeeName、objects1.objectTo.DOB、objects1.employeeCurrent):
约翰 2333 正确 珍妮特 23333 是的
let obj = [ { objectTo:
{ employeeName: 'John',
employeeID: '234234',
DOB: '2333'},
employeeCurrent: true,
employeePast: false},
{ objectTo:
{ employeeName: 'Janet',
employeeID: '23423432',
DOB: '23333' },
employeeCurrent:true,
employeePast: false} ]
const csvString = obj.map(item => {
return [item.objectTo.employeeName, item.objectTo.DOB, item.employeeCurrent]
}).join('\n')
console.log(csvString)
// John,2333,true
// Janet,23333,true
如果您希望它们都在同一行,只需使用 ','
而不是 '\n'
获得字符串后,您可以使用 fs
将它们写入 csv
文件