使用fast-csv将文字附加到csv文件中

时间:2019-03-07 15:08:36

标签: node.js csv express

我下面的函数读取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 个答案:

答案 0 :(得分:1)

return ( <View style={AppStyles.buttonRect} > <View style={AppStyles.buttonRectWrap}> <Image style={AppStyles.buttonRectIcon} source={this.props.buttonIcon} /> <Text style={AppStyles.btnText}>{this.props.buttonTxt}</Text> </View > </View> ); 的默认标志是btnText:{ color:'#fff', marginRight:14, marginLeft:10, fontSize:20, alignSelf: 'center', marginTop:-3, textTransform:'uppercase', }, ,它将打开文件进行写入,如果文件不存在则创建文件或将文件截断。

您需要使用fs.createWriteStream标志,这会打开文件进行添加。

w

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

答案 1 :(得分:0)

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

flag关键字现在可能已旧。文档中提到它必须为“标志”。

fs.createWriteStream(path, [options])