Модуль csvtojson всегда возвращает пустые массивы

Я использую модуль node-csvtojson для преобразования моего файла csv построчно в JSON, а после этого записываю его построчно в result.txt

Вот мой код:

import fs from 'fs';
import path from 'path';
import readline from 'readline';
import csvToJson from 'csvtojson';

const csvFilePath = path.join(__dirname, '/example.csv');
const fileOutputPath = path.join(__dirname, '/result.txt');

const input = fs.createReadStream(csvFilePath);

const output = fs.createWriteStream(fileOutputPath, {
  flags: 'w',
});

const inputFileLine = readline.createInterface({
  input,
  terminal: false,
  output,
})

inputFileLine.on('line', (line) => {

  const result = csvToJson()
    .fromString(line)
    .then((csvRow) => {
      console.log(csvRow);
      return csvRow;
    })

  console.log(result);

  // output.write(result);
})

К сожалению, каждый раз, когда я получаю пустой массив внутри then(). Ноlineсуществует! Если я добавлю noheader: true (по умолчанию false), то результат будет таким:

[
  {
    field1: 'firstName',
    field2: 'lastName',
    field3: 'email',
    field4: 'phoneNumber'
  }
]
[
  {
    field1: 'John',
    field2: 'Doe',
    field3: 'john@doe.com',
    field4: '0123456789'
  }
]
[
  {
    field1: 'Jane',
    field2: 'Doe',
    field3: 'jane@doe.com',
    field4: '9876543210'
  }
]

Но я на 100% уверен, что заголовок существует и мне не нужна конфигурация заголовка. Где я не прав?

0 ответов

Другие вопросы по тегам