Les sauts de ligne sont pris en charge dans CSV si les champs qui les contiennent sont entre guillemets doubles.
Donc, si vous aviez ceci au milieu du fichier :
just another value;f*** value;"value with newline"
il sera considéré comme 1 ligne de données réparties sur 2 lignes avec 3 champs et fonctionnera.
Par contre, sans les guillemets doubles, c'est un fichier CSV invalide (quand il annonce 3 champs).
Bien qu'il n'y ait pas de spécification formelle pour le format CSV, vous pouvez consulter RFC 4180 pour les règles qui s'appliquent généralement.