使用fast-csv将写入附加到csv文件

qeeaahzv  于 2023-09-27  发布在  其他
关注(0)|答案(2)|浏览(95)

我下面的函数读取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);
ttvkxqim

ttvkxqim1#

fs.createWriteStream的默认标志是w,它将打开文件进行写入,如果不存在则创建它,如果存在则截断它。
您需要使用a标志,它打开文件进行追加。

let ws = fs.createWriteStream('accounts.csv', { flags: 'a' });

请记住,您可能应该等到文件被读取,或者在阅读之前添加。

9vw9lbht

9vw9lbht2#

let ws = fs.createWriteStream('accounts.csv', { flags: 'a' });

flag关键字可能已经过时了。文档提到它必须“标记”。
fs.createWriteStream(path,[options])

相关问题