Writing Multiple CSV files

8 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
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
Edited: 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
Edited: 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)

Categories

Find more on Data Import and Analysis 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!