我下面的函数读取accounts.csv,但是,我希望能够在其中写入。每次我执行fs.createWriteStream操作时,它都会覆盖整个文件并替换它。这是我的代码。我要追加结果
let stream = fs.createReadStream("accounts.csv");
fast
.fromStream(stream, {headers : ["Account",
"OrgName", "Contact1", "Contact2", "AddrLine1",
"AddrLine2", "City", "State", "ZipPostal", "Country",
"AccountType", "ACCTTYPE", "Partner", "PTRDATE", "LSTCONTD",
"LSTGIFTDT", "LSTGIFTAmt"]})
.on("data", function(data){
var orgName = data
console.log(data);
})
.on("end", function(){
console.log("done");
});
let ws = fs.createWriteStream('accounts.csv');
fast.
write([
{r: "r1", s:"s1"}
], {headers:true})
.pipe(ws);
2条答案
按热度按时间ttvkxqim1#
fs.createWriteStream
的默认标志是w
,它将打开文件进行写入,如果不存在则创建它,如果存在则截断它。您需要使用
a
标志,它打开文件进行追加。请记住,您可能应该等到文件被读取,或者在阅读之前添加。
9vw9lbht2#
flag关键字可能已经过时了。文档提到它必须“标记”。
fs.createWriteStream(path,[options])