добавить запись в CSV-файл с помощью fast-CSV - PullRequest
0 голосов
/ 07 марта 2019

Моя функция ниже читает account.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);

1 Ответ

1 голос
/ 07 марта 2019

Флаг по умолчанию для fs.createWriteStream - w, который открывает файл для записи, создает его, если он не существует, или обрезает его, если он существует.

Вам необходимо использовать a флаг, открывающий файл для добавления.

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

Имейте в виду, что вам, вероятно, следует подождать, пока файл не будет прочитан, или добавить перед чтением.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...