Reading data from csv files

3 views (last 30 days)
Ahmad Hasnain
Ahmad Hasnain on 23 Apr 2019
Answered: Guillaume on 24 Apr 2019
I have 37 csv files. I need to read data from first row of all the 37 files and merge these 37 rows into one mat file.
Then I will read all the 2nd rows and merge them into one mat file.
I will keep reading the data till the last row of each csv file.
Name of my csv files are:
I am not sure how to do this.
Ahmad Hasnain
Ahmad Hasnain on 24 Apr 2019
Yes, they are all of the same size 15x38

Sign in to comment.

Accepted Answer

Guillaume on 24 Apr 2019
%your original code, slightly modified
csvfiles = dir('*.csv');
filescontent = cell(numel(csvfiles), 1);
for i = 1:numel(csvfiles)
filescontent{i} = csvread(csvfiles(i).name);
%write rows of matrices into mat file
destfolder = 'C:\somewhere\somefolder';
allcontent = cat(3, filescontent{:}); %concatenate all matrices into a 3D matrix
%save rows of each matrix into a mat file (as variable rows)
for rowidx = 1:size(allcontent, 1)
rows = permute(allcontent(rowidx, :, :), [3 2 1]); %extract rows.Permute so each matrix is a row of rows
save(fullfile(destfolder, sprintf('row%d.mat', rowidx)), rows);

More Answers (0)


Find more on Live Scripts and Functions 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!

Translated by