节点。 fs.writeFileSync 时获取 [object,Object]
Nodejs . Getting [object,Object] when fs.writeFileSync
我正在读取一个 csv 文件,然后以我需要的格式编写另一个文件。 console.log 显示我需要的数据,但我创建的文件显示每一行的 [object, Object] 。
我不确定为什么 console.log 显示了正确的数据,但文件却没有。我已经阅读了 Node 文档,但我无法弄清楚。感谢您提供的任何信息。
this is what console.log shows
var fs = require("fs");
var parse = require('csv-parse');
//read file
var inputFile = 'EXAMPLE_UPSdailyShipment.csv';
fs.createReadStream('EXAMPLE_UPSdailyShipment.csv', "utf8", function read(err, data) {
if (err) {
throw err;
}
content = data;
});
var arr = [];
//data for new file
var parser = parse({
delimiter: ","
}, function(err, data) {
data.forEach(function(column) {
// create line object, data from parsed fields, PackageReference1 is order#
var line = {
"BuyerCompanyName": " ",
"OrderNumber": column[8],
"ShipperName": "UPS",
"TrackingNumber": column[9],
"DateShipped": column[0],
"ShipmentCost": column[2],
};
arr.push(line);
});
console.log(arr);
fs.writeFileSync("newtemp3.csv", arr, 'utf8');
console.log("file read and new file created")
});
fs.createReadStream(inputFile).pipe(parser);
我认为你只需要先将数据字符串化:
fs.writeFileSync("newtemp3.csv", JSON.stringify(arr), 'utf8');
希望这能解决您的问题。
我正在读取一个 csv 文件,然后以我需要的格式编写另一个文件。 console.log 显示我需要的数据,但我创建的文件显示每一行的 [object, Object] 。
我不确定为什么 console.log 显示了正确的数据,但文件却没有。我已经阅读了 Node 文档,但我无法弄清楚。感谢您提供的任何信息。
this is what console.log shows
var fs = require("fs");
var parse = require('csv-parse');
//read file
var inputFile = 'EXAMPLE_UPSdailyShipment.csv';
fs.createReadStream('EXAMPLE_UPSdailyShipment.csv', "utf8", function read(err, data) {
if (err) {
throw err;
}
content = data;
});
var arr = [];
//data for new file
var parser = parse({
delimiter: ","
}, function(err, data) {
data.forEach(function(column) {
// create line object, data from parsed fields, PackageReference1 is order#
var line = {
"BuyerCompanyName": " ",
"OrderNumber": column[8],
"ShipperName": "UPS",
"TrackingNumber": column[9],
"DateShipped": column[0],
"ShipmentCost": column[2],
};
arr.push(line);
});
console.log(arr);
fs.writeFileSync("newtemp3.csv", arr, 'utf8');
console.log("file read and new file created")
});
fs.createReadStream(inputFile).pipe(parser);
我认为你只需要先将数据字符串化:
fs.writeFileSync("newtemp3.csv", JSON.stringify(arr), 'utf8');
希望这能解决您的问题。