Запись в csv файл
Добрый день, сразу хочу сказать, что я далекий от программирования человек, но кровь из носа понадобился простой скрипт, который я и пытаюсь реализовать своими силами.
Мне нужно организовать запись данных в csv файл. Делаю это на node js и использую модуль fast-csv. Как создать и записать данные в файл я разобрался, делаю это таким образом:
var ws= fs.createWriteStream('PlayerStats.csv');
csv.write ([
["Name","Team", "Position","Apps"],
[name, team,position,apps]
], {headers:true, delimiter: ';'})
.pipe(ws);
А вот добавить новую строку с данными формата [name, team,position,apps] в уже существующий файл с такой информацией никак не выходит. Подскажите, как это реализовать. |
Судя по всему, при открытии потока надо указать режим добавления в конец.
var ws = fs.createWriteStream('PlayerStats.csv', {flags:'a'});
Хотя точно опции не знаю. |
Таким образом оно записало в конец последней ячейки.
Если изначально таблица выглядела вот так: Name Team Position COSTA Che FW То при попытке дописать строку (Milner Liverpool DF) с вашим кодом стала вот так: Name Team Position COSTA Che FWMilner Liverpool DF |
Значит надо дописывать '\n' в конце каждой такой операции вручную. Так же можно переопределить pipe. Хотя лучше порыться в доках, наверняка есть опция указывающая что надо в конце дописывать '\n'. Если нет, то можно попросить разработчиков добавить (если проект не заброшен).
|
| Часовой пояс GMT +3, время: 15:50. |