How to write 2x1 string to csv?

27 views (last 30 days)
I have created a 2x1 string array which contains filenames in the first column, and a 'yes' or 'no' in the second column.
I'd like to write this information to an output format, preferrable .csv, how could I do this? Should I be converting from string to another format first?
Thanks!! My work so far:
%Create output array, table with two columns
sz1=files; %number of rows=number files in folder
szN=2; %number of columns=2
d(i).name=convertCharsToStrings(d(i).name); %convert filename to suitable format
%Does it look like there is boat noise in the plot?
answer=input('Can you see boat noise? y/n: \n', 's')
if strcmp(answer,'y');
%store filename in output with 'boat' in second column
results(row,1) = d(i).name;
results(row,2) = 'yesboat';
elseif strcmp(answer,'n');
%store filename in output with 'no boat' in second column
results(row,1) = d(i).name;
results(row,2) = 'noboat';
disp('Input must be Y or N!');

Accepted Answer

Walter Roberson
Walter Roberson on 4 Sep 2019
Edited: Walter Roberson on 4 Sep 2019
You can convert to a table() object and writetable() with WriteVariableNames set to false.
Or you can do it "manually", by using fopen(), fprintf(), fclose()
Or you can
char(results(:,1) + ',' + results(:,2))
and dlmwrite() that to a .csv file, making sure you use 'delimiter', '' (that is the empty character vector)
If you were using R2019a or later (and thank you for filling in your release!), then you could use writematrix()
Walter Roberson
Walter Roberson on 6 Sep 2019
writematrix() needs the release after you have.
writetable() is fine for tables of data that is not all the same datatype.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by