最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

Nodejs。 fs.writeFileSync

IT培训 admin 2浏览 0评论

Nodejs。 fs.writeFileSync

时获取[object,Object]

我正在读取一个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');

希望这可以解决您的问题。

Nodejs。 fs.writeFileSync

时获取[object,Object]

我正在读取一个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');

希望这可以解决您的问题。

与本文相关的文章

发布评论

评论列表 (0)

  1. 暂无评论