добавить переносы строк
fs.write('test.csv', name.trim()+","+title.trim()+"\n", "a");
версия CSV различается, но все, как правило, четыре специальных символов,
- разделитель (запятая)
- побег символа (обычно
\
, использовать, чтобы избежать другие специальные символы при использовании в данных
- разделитель строк (Обычно
\n
, символ новой строки),
- обертку (обычно цитирует, что обернуть вокруг каждого значения)
Так что, если вы действительно хотите надлежащего CSV вы могли бы сделать что-то вроде этого.
function escapeCSVData(text){
text = text.
replace("\", "\\,"). // escape any escape chars
replace(",", "\,"); // escape commas
return '"'+text+'"'; // add quotes
}
fs.write('test.csv', escapeCSVData(name.trim())+","+escapeCSVData(title.trim())+"\n", "a");
Я не тестировал вышеуказанное, но это должно сработать для вас.
EDIT
Я только что узнал, что запятые просто цитирует, не удалось избежать, так что функция будет Actaully просто посмотреть, как это ..
function escapeCSVData(text){
return '"'+text+'"'; // add quotes
}
Ваше решение чище, чем мой быстрый печатать на машинке. Я просто добавлю, что CSV не просто разделены запятыми - вам нужно избегать данных, которые могут содержать разделители - недостаточно просто добавить «+», «+» – noderman
, предполагая, что существует некоторая двусмысленность, re right, но предоставленные данные образца не требуют ничего, чтобы сбежать. –
Как я могу избежать запятой на строке? У меня проблемы с этим сейчас – Andrei