How do I "writetable" with a CSV file when table elements have newlines or double quotation marks?
3 次查看(过去 30 天)
显示 更早的评论
MathWorks Support Team
2017-7-27
编辑: MathWorks Support Team
2025-1-6
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?
采纳的回答
MathWorks Support Team
2025-1-6
编辑:MathWorks Support Team
2025-1-6
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 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Spreadsheets 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!