首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用fast-csv将写入追加到csv文件

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

Stack Overflow用户
提问于 2019-03-07 23:08:36
回答 2查看 3.7K关注 0票数 1

下面的函数读取accounts.csv,但是我希望能够在其中写入内容。每次我执行fs.createWriteStream时,它都会覆盖并替换整个文件。这是我的代码。我想追加结果

代码语言:javascript
复制
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);
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-03-07 23:25:46

fs.createWriteStream的默认标志是w,它将打开要写入的文件,如果该文件不存在,则创建该文件,如果存在,则将其截断。

您需要使用a标志,它会打开要追加的文件。

代码语言:javascript
复制
let ws = fs.createWriteStream('accounts.csv', { flag: 'a' });

请记住,您可能应该等待文件被读取,或在读取之前追加。

票数 8
EN

Stack Overflow用户

发布于 2020-01-02 17:18:40

代码语言:javascript
复制
let ws = fs.createWriteStream('accounts.csv', { flags: 'a' });

flag关键字现在可能是旧的。文档中提到它必须“标记”。

fs.createWriteStream(path, [options])

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55046998

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档