Как читать файл CSV построчно, изменять каждую строку, записывать результат в другой файл - PullRequest
1 голос
/ 12 июня 2019

Недавно я использовал библиотеку событийных потоков для nodejs для анализа огромного CSV-файла, сохраняя результаты в базе данных.Как мне решить задачу не просто чтения файла, а изменения каждой строки, записи результата в новый файл?Это какая-то комбинация сквозного и картографического метода или дуплекс?Любая помощь высоко ценится.

1 Ответ

1 голос
/ 13 июня 2019

Если вы используете Event-Stream для чтения, вы можете использовать split() метод process csv построчно.Затем измените и запишите строку в новый поток записи.

var fs = require('fs');
var es = require('event-stream');

const newCsv = fs.createWriteStream('new.csv');

fs.createReadStream('old.csv')
  .pipe(es.split())
  .pipe(
    es.mapSync(function(line) {
    // modify line way you want
      newCsv.write(line);
    }))

newCsv.end();
...