将列添加到 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);
});
这对我有用。唯一的问题是,我试图在我下载并重命名的多个文件上循环,它只是没有保存到所有文件,只有一个。
我想在我的 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 库来添加这个字段吗?
这里有人提出了类似的问题:
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);
});
这对我有用。唯一的问题是,我试图在我下载并重命名的多个文件上循环,它只是没有保存到所有文件,只有一个。