Модуль 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% уверен, что заголовок существует и мне не нужна конфигурация заголовка. Где я не прав?