How to write 2x1 string to csv?
6 views (last 30 days)
Show older comments
Louise Wilson
on 4 Sep 2019
Commented: Walter Roberson
on 6 Sep 2019
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
results=strings(sz1,szN);
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';
else
disp('Input must be Y or N!');
end
0 Comments
Accepted Answer
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()
2 Comments
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.
More Answers (0)
See Also
Categories
Find more on Text Files in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!