Reading data from csv files

4 vues (au cours des 30 derniers jours)
Ahmad Hasnain
Ahmad Hasnain le 23 Avr 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:
Col01_all
Col02_all
.
.
.
Col37_all
I am not sure how to do this.
  7 commentaires
KSSV
KSSV le 24 Avr 2019
Are you sure that all A{i} are of same size?
Ahmad Hasnain
Ahmad Hasnain le 24 Avr 2019
Yes, they are all of the same size 15x38

Connectez-vous pour commenter.

Réponse acceptée

Guillaume
Guillaume le 24 Avr 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);
end
%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);
end

Plus de réponses (0)

Catégories

En savoir plus sur Workspace Variables and MAT-Files dans Help Center et File Exchange

Tags

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by