У меня есть следующий код: Node.jsnode.js разбора CSV файл с ленивым
new lazy(fs.createReadStream('file.csv'))
.lines
.forEach(function(line){
console.log(line.toString());
});
Однако, я только получить последнюю строку данных таким образом. Содержимое файла CSV в следующем:
123, разбитый
12345, украдена
1234567, потерял
Что я здесь делаю неправильно?
У меня также есть этот код для того же файла:
fs.readFile(req.files.file.path, 'utf8', function (err, data) {
if (err) throw err;
var lines = data.split(/\r?\n/);
console.log(lines);
});
который возвращает следующий массив:
[ '123,broken\r12345,stolen\r1234567,lost' ]
Так что ваш файл сломан, он должен быть '\ r \ n' не просто' \ r'; что так очевидно по вашему собственному тесту. – Chad
Просьба уточнить – user1175817
Библиотека (и ваш 'data.split()') ищет либо '\ r \ n' (возврат каретки, новая строка), либо' \ n' (новая строка). Однако ваш файл csv использует '\ r' в качестве разделителя строк. Это неверно; сделайте все, что пишет ваш файл csv, используйте '\ r \ n' или' \ n'. – Chad