更新时间:2023-11-18 22:30:10
使用csv-parser软件包而不是fast-csv,并使用json2csv将json解析为csv.
Use csv-parser package instead of fast-csv, and json2csv for json to csv parsing.
您要做的是使用csv-parser将csv的每一行转换为json,在结果json对象中添加一个新字段,针对每一行执行此操作,将结果放入数组中,将该数组转换为带有json2csv包的csv.
What you want to do is to convert each row of the csv to json using csv-parser, add a new field into the resulting json object, do this for each row, put the result in an array, convert that array into csv with json2csv package.
这是代码:
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);
});
fs.writeFileSync仍然会覆盖原始文件,因此您也可以将其保存到原始csv文件中.
fs.writeFileSync overrides the original file anyway, so you can also save into the original csv file.