MATLAB Answers

Writing Multiple CSV files

24 views (last 30 days)
Curious Mind
Curious Mind on 10 Nov 2017
Edited: per isakson on 10 Nov 2017
I have a dataset which has about 20 spectra. All 20 spectra share the same x-axis. So I have 21 columns, column 1 representing the x-axis and columns 2 to 21 representing the y values. I want to save the data 20 separate .csv files. Csvwrite just combines all the data into one large csv files which is not what I want. I want a code that can save cloumn 1 and 2 separately, 1 and 3 separately, 1 and 4 separately and so on till column 1 and 21 so that in the end I will have 20 separate csv files each having column 1 as the x-axis and the corresponding y column as y-axis.
Look forward to hearing from someone and I would really appreciate it.
Thanks.

  5 Comments

Show 2 older comments
Curious Mind
Curious Mind on 10 Nov 2017
Thanks @per isakson. Will definitely give it a try and let you know
Curious Mind
Curious Mind on 10 Nov 2017
Please what does M stands for in your code? Is it the data file name?
per isakson
per isakson on 10 Nov 2017
  • M is your dataset with 21 columns
  • sprintf( 'y%d.csv', jj ) creates a filename

Sign in to comment.

Accepted Answer

KSSV
KSSV on 10 Nov 2017
A = rand(10,11) ;
%%Write each colum to different files
for i = 2:size(A,2)
filename = ['column',num2str(i),'.csv'] ;
csvwrite(filename,A(:,[1 i]))
end

  2 Comments

Curious Mind
Curious Mind on 10 Nov 2017
@KSSV will this save my data into 20 separate csv files? I don’t want 1 large file. Can you please explain your approach for me? Thank you
KSSV
KSSV on 10 Nov 2017
It is straight forward.....run a loop for each column and use csvwrite for each column with different file names. You run the above code and see. YOu can replace A with your data.

Sign in to comment.

More Answers (0)

Sign in to answer this question.


Translated by