Как я могу анализировать записи по запросу с помощью Node.js?

Есть ли модуль Node, который может анализировать определенное количество записей из файла CSV? Вариант использования - синтаксический анализ большого файла журнала и отправка записей клиенту поискового вызова по запросу.

node-csv не может пока сделайте это, и ближайший я нашел чтение строк один за другим, что требует повторного использования синтаксического анализа CSV и разбивается на многострочные записи.

Но позвольте опустить панель: как я могу разобрать однострочные записи CSV один за другим с помощью Node.js? Довольно тривиальная задача на большинстве других языков.

Ответы

Ответ 1

Насколько я понимаю, вы просто хотите проанализировать строку значений, разделенных запятыми, в массив? Если да, попробуйте следующее:

https://npmjs.org/package/csvrow

Ответ 2

Разбор одной строки (которая также может иметь встроенные строки):

var csv = require('csv'); // node-csv

csv()
  .from.string(SINGLE_LINE_OF_CSV)
  .to.array(function(record) {
    console.log('R', record);
  });

Я не уверен, что вы подразумеваете под "конкретным количеством записей из файла CSV", или в чем проблема. После того, как вы прочтете нужную сумму, просто отправьте ответ клиенту, и все готово.

EDIT: если вы хотите реализовать подкачку, вы можете использовать node-csv:

var csv   = require('csv');
var skip  = 100;
var limit = 10;

csv()
  .from.path('file.csv')
  .on('record', function(row, index) {
    if (index >= skip && index < (skip + limit))
      console.log('R', index);
  });