Ruby なら、CSV モジュールを使うだけ

CSVでは、要素内に、列区切り文字(カンマ)・行区切り文字(改行)がある場合は、
その要素をクォート文字(ダブルクォーテーション)で囲まなければならない

要素内に、クォート文字がある場合は、クォート文字を2つにしてから、
その要素をクォート文字で囲まなければならない