How to save output of variable in csv file?

695 views (last 30 days)
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

Star Strider
Star Strider on 17 Jun 2017
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
Star Strider
Star Strider on 4 May 2023
The writematrix function was introduced in R2019a, two years after I posted this.

Sign in to comment.

More Answers (2)

Md. Al-Imran Abir
Md. Al-Imran Abir on 4 Jul 2022
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
Shekhar Vats
Shekhar Vats on 28 Apr 2021
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
cillian thomas
cillian thomas on 4 May 2023
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!