как получить общее количество строк записей в файле csv с помощью node.js

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


person user2700253    schedule 30.08.2013    source источник
comment
посмотрите на эту библиотеку github.com/wdavidw/node-csv   -  person Plato    schedule 30.08.2013
comment
Сделайте это, возможно: stackoverflow.com/a/12453463/711902   -  person Trevor Dixon    schedule 31.08.2013
comment
это не работает должным образом. Я хочу получить общее количество строк в файле csv. В моем случае нет \r или \n.   -  person user2700253    schedule 31.08.2013


Ответы (2)


Использовал этот фрагмент для расчета количества строк из Ответ Джейсона Кима и это сработало как шарм.

const util = require('util');
const exec = util.promisify(require('child_process').exec);

async function fileLineCount({ fileLocation }) {
  const { stdout } = await exec(`cat ${fileLocation} | wc -l`);
  return parseInt(stdout);
};

// Usage

async someFunction() {
  const lineCount = await fileLineCount({ fileLocation: 'some/file.json' });
}

P.S. Это работает для любого типа файла, а не только для csv.

person Blaze Wayne    schedule 08.12.2020
comment
это будет работать только в линуксе - person phoenixstudio; 08.12.2020

Работайте с CSV через библиотеку, как предложил Платон.

FWIW, чтобы получить длину любого текстового файла,

var content;
// First I want to read the file
fs.readFile('./local.csv', function read(err, data) {
    if (err) {
        throw err;
    }
    content = data;
    processFile();          // Or put the next step in a function and invoke it
});

function processFile() {
    lines = content.split("\r");   // look up
    rowCount = lines.length;
}
person Jim Mack    schedule 30.08.2013