Я бы предложил либо использовать другой формат, чем CSV, либо попробовать использовать другие символы в качестве разделителя полей и / или разделителя текста. Попробуйте найти символ, который не используется в ваших данных, например, |, #, ^ или @. Формат одной строки станет
|foo|,|bar|,|baz, qux|
Парсер с хорошим поведением не должен интерпретировать 'baz' и 'qux' как два столбца.
В качестве альтернативы, вы можете написать собственный импортный вуду, который исправит все проблемы. Для более поздних версий этот Groovy скелет может оказаться полезным (хотя не уверен, на каких языках вы говорите свободно)