下面的函数读取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);发布于 2019-03-07 23:25:46
fs.createWriteStream的默认标志是w,它将打开要写入的文件,如果该文件不存在,则创建该文件,如果存在,则将其截断。
您需要使用a标志,它会打开要追加的文件。
let ws = fs.createWriteStream('accounts.csv', { flag: 'a' });请记住,您可能应该等待文件被读取,或在读取之前追加。
发布于 2020-01-02 17:18:40
let ws = fs.createWriteStream('accounts.csv', { flags: 'a' });flag关键字现在可能是旧的。文档中提到它必须“标记”。
https://stackoverflow.com/questions/55046998
复制相似问题