Podziały wierszy są obsługiwane w CSV, jeśli pola, które je zawierają, są ujęte w cudzysłów.
Więc jeśli masz to w środku pliku:
just another value;f*** value;"value with newline"
zostanie to potraktowane jako 1 linia danych rozłożona na 2 linie z 3 polami i po prostu działa.
Z drugiej strony, bez podwójnych cudzysłowów, jest to nieprawidłowy plik CSV (gdy reklamuje 3 pola).
Chociaż nie ma formalnej specyfikacji formatu CSV, możesz zapoznać się z RFC 4180 dla ogólnie obowiązujących zasad.