У меня есть следующая функция, которая обрабатывает мой CSV-файл. К сожалению, файл csv имеет один столбец, в котором также используется запятая в качестве разделителя тысяч (я не имею никакого влияния на этот экспортированный файл csv и его структуру). Таким образом, в каждом файле из определенной строки будет один дополнительный столбец.
В методе on ('data', ()) я уже исправил это значение, объединив два поля вместе и удалив поле избыточное поле. Но, в конце концов, это все равно приводит к строкам с дополнительным столбцом. При этом 4-й столбец будет пустым ..
Я бы хотел, чтобы каждое поле «сдвигалось» влево при удалении поля. Можно ли этим манипулировать? Или мне нужна дополнительная функция, которая обрабатывает вывод и игнорирует все «нулевые» поля.
function readLines(file, options, cb){
let results = [];
fs.createReadStream(file)
.pipe(csv(options))
.on('data', (data) => {
if(Object.keys(data).length == 59){
data['2'] = data['2'] + data['3']
delete data['3']
}
results.push(data)
})
.on('end', () => {
cb(results)
});
}