How do I "writetable" with a CSV file when table elements have newlines or double quotation marks?
3 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
MathWorks Support Team
el 27 de Jul. de 2017
Editada: MathWorks Support Team
el 6 de En. de 2025
I have a table, "DataTable", in a MATLAB with elements that are strings containing line breaks, double quotes, and commas.
When I write the table from the CSV file, the table is not the same as the one I had originally. I get extra rows where the line breaks were and the quotes are not how they were originally.
Why does this happen and how can I write my table using a CSV file?
Respuesta aceptada
MathWorks Support Team
el 6 de En. de 2025
Editada: MathWorks Support Team
el 6 de En. de 2025
Based on the definition of the CSV format, fields containing line breaks (CRLF), double quotes, and commas should be enclosed in double-quotes.
In order to write the original table to CSV format, you can add the "QuoteStrings" flag to "writetable". The flag is documented at the link below:
This is illustrated as follows:
>> writetable(DataTable, 'DataTable.csv','QuoteStrings',true);
Then, when reading from the CSV, you should explicitly tell "readtable" the format of the file. This option's workflow is documented at the link below:https://www.mathworks.com/help/matlab/ref/readtable.html#bvghccx
This is illustrated as follows:
>> opts = detectImportOptions('DataTable.csv');
>> T = readtable('DataTable.csv',opts)
0 comentarios
Más respuestas (0)
Ver también
Categorías
Más información sobre Spreadsheets en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!