Проблемы при обработке CSV-данных, содержащих запятые и переносы строк, могут возникать по нескольким причинам:
- Разные программы используют разные разделители. 1 Например, в русской и других локалях запятая по умолчанию зарезервирована под десятичный разделитель. 3 Если программа открывает CSV неправильно, данные могут «сливаться» в одну колонку. 1
- Для представления разрывов строк используются разные символы. 5 В некоторых системах, например Mac или Unix, для этого применяют только управляющий символ перевода строки (LF). 5 Другие системы могут использовать управляющие символы разрыва совершенно другой строки. 5
- Данные не заключены в кавычки. 3 По стандарту RFC 4180, если поле содержит запятые, переносы строк, двойные кавычки, то это поле должно быть заключено в двойные кавычки. 3 Если этого не сделать, то данные невозможно будет корректно обработать. 3
Чтобы избежать проблем, рекомендуется использовать правильную кодировку, проверять её перед импортом, а также сохранять файлы в UTF-8. 1