将列添加到 csv 文件 javascript:nodejs

Add column to csv file javascript:nodejs

我想在我的 csv 文件中添加一列,其中包含所有行的相同数据

我的 csv 文件:

sugar, 150, stock
salt, 30, stock
milk, 30, stockout

添加行后我的文件(预期结果):

product, sugar, 150, stock
product, salt, 30, stock
prouct, milk, 30, stockout

我想在每一行添加字段“product”,我的代码:

const writestream = fs.createWriteStream("file.csv", {
  flags: 'a'
});
writestream.write("," + "product");

这个 returns 产品在文件末尾,我该如何修复它

我可以使用 fast-csv 库来添加这个字段吗?

这里有人提出了类似的问题:。长话短说,使用 csv-parser 将 csv 转换为 json,添加您的字段,然后使用 json2csv.

将 json 转换回 csv
var csv = require('csv-parser');
var fs = require('fs');
var json2csv = require('json2csv');
var dataArray = [];

fs.createReadStream('your-original-csv-file.csv')
  .pipe(csv())
  .on('data', function (data) {
    data.newColumn = newColumnValue;
    dataArray.push(data);
  })
  .on('end', function(){
    var result = json2csv({ data: dataArray, fields:Object.keys(dataArray[0]) });
    fs.writeFileSync(fileName, result);
  });

这对我有用。唯一的问题是,我试图在我下载并重命名的多个文件上循环,它只是没有保存到所有文件,只有一个。