How to save output of variable in csv file?

I have MATLAB code and output is saved in variable and i want to save in csv file. And there is no example of that in doc of MATLAB. I have attached the code and variable name is"TY".

 Accepted Answer

See the documentation on the csvwrite (link) function. It was introduced prior to R2006a, so you should have access to it. There are similar functions linked to in and at the end of that documentation page.

1 Comment

The writematrix function was introduced in R2019a, two years after I posted this.

Sign in to comment.

More Answers (2)

At present, csvwrite (documentation) is not recommended. If one has a newer version of MATLAB (2019a or later), writematrix (documentation) is the preferred way.
Erika Joh
Erika Joh on 26 Apr 2019
Edited: Erika Joh on 26 Apr 2019
Thanks! Would I just call on the function several times then, like:
csvwrite('filename.csv',variable1,0,1)
csvwrite('filename.csv',variable2,0,2)
etc?

4 Comments

hello joh and strider!
Iam facing the same problem. did u solved this problem?. Kindly share the any sample code for the solution.
Thank you
This is a stupid bruteforce method, if you find a better one please share. I have seen people just pointing to the default matlab way where you can save one variable. What if you have 1000's of variable that will take all the time. I hope someone will share a better code
for downloading xlscol function
clear all; close all; clc;
current_dir = pwd;
[Filename, Pathname] = uigetfile('Select File'); % select file
file_to_be_loaded = [Pathname '\' Filename]; % get file path and name
load(file_to_be_loaded); % load file
Filename
clear Pathname file_to_be_loaded current_dir
vars=who;
sheet = 1;
for n=1:size(vars)
n
xlRange = [xlscol(n) '1'];
xl_range = [xlscol(n) '2'];
xlswrite([Filename(1:end-4) '.xlsx'],cell(vars(n)),sheet, xlRange)
xlswrite([Filename(1:end-4) '.xlsx'],eval(char(vars(n))),sheet, xl_range)
end
A better way is to put the variables in a matrix, and export the data. See this thread:
xout1 = [1 2 3]
yout1 = [4 5 6]
m = [xout1,yout1]
csvwrite('filename.csv',m)

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!