Добрый день.
Подскажите как правильно преобразовать данные в csv?
В текстовом файле лежат следующие данные (кол-во не ограничено):
ОАО Ромашка-4 (Новокузнецк),водитель,Иван ов Павел Аркадьевич,,1234,123411
Ван Александр Александрович,1478
Шмид Иван Викторович,5555
Функция принимает на вход файл и должна вернуть следующее :
CompanyName,Occupation,LastName,FirstName,MiddleNa me,Phone,PersonalNr,TerminalPassword
ОАО Ромашка-4 (Новокузнецк),водитель,Иван ов,Павел,Аркадьевич,,1234,123411
ОАО Ромашка-4 (Новокузнецк),водитель,Ван, лександр,Александрович,,1478 ,147811
ОАО Ромашка-4 (Новокузнецк),водитель,Шмид ,Иван,Викторович,,5555,555511
Мой кривой код и репл для удобства:
https://repl.it/@AlexBalykin/csv
import fs from 'fs';
import path from 'path';
const getPath = (filePath) => fs.readFileSync(path.resolve(filePath), 'utf8');
const csvHeader =
'CompanyName,Occupation,LastName,FirstName,MiddleName,Phone,PersonalNr,TerminalPassword';
const data = getPath('input').split(',');
const str = data.map((i) => i);
class Csv {
items = [];
add(CompanyName) {
const items = this.get();
items.push(CompanyName);
}
get() {
return this.items;
}
getFull() {
return this.items.map(
(i) =>
`${i.CompanyName}${','}${i.Occupation}${','}${i.LastName}${','}${
i.FirstName
}${','}${i.MiddleName}${','}${i.Phone}${i.PersonalNr}${','}${
i.TerminalPassword
}`
);
}
}
const csv = new Csv();
csv.add({
CompanyName: str[0],
Occupation: str[1],
LastName: str[2].split(' ')[0],
FirstName: str[2].split(' ')[1],
MiddleName: str[2].split(' ')[2],
Phone: str[3],
PersonalNr: str[4],
TerminalPassword: `${str[4]}${11}`,
});
console.log(csv.getFull().join('\n'));