MATLAB: How to “readtable” with a CSV file when table elements have newlines or double quotation marks

breakcsvdetectimportoptionsdouble-quoteslineMATLABquotequotestringreadtablewritetable

I have a table, "DataTable", in a CSV file with elements that are strings containing line breaks, double quotes, and commas. When I read the table from the CSV file, the table is not the same as the one I had originally.
Why does this happen and how can I read my table using a CSV file?

Best Answer

Based on the definition of the CSV format, fields containing line breaks (CRLF), double quotes, and commas should be enclosed in double-quotes.
When reading from the CSV, you can explicitly tell "readtable" the format of the file.  This option's workflow is documented at the link below:
This is illustrated as follows:
>> opts = detectImportOptions('DataTable.csv');
>> T = readtable('DataTable.csv',opts)