Info

Cette question est clôturée. Rouvrir pour modifier ou répondre.

how to read many csvfile?

1 vue (au cours des 30 derniers jours)
suyeon kim
suyeon kim le 2 Fév 2018
Clôturé : MATLAB Answer Bot le 20 Août 2021
i want to read many csvfiles and run it at once. how to read and run many csvfiles?
i use for loop, dlmread. but there are not worked.
someone help me.thank you.

Réponses (1)

Prajith Chilummula
Prajith Chilummula le 8 Fév 2018
Hi suryeon kim,
dlmread() reads numeric data into matrix.
For example (files used in the code are attached),
fileNamesArray= {1.csv,2.csv};
data = cell(numel(fileNamesArray),2);
data(:,1) = regexprep(fileNames, '.csv','');
for i = 1: numel(fileNamesArray)
data{i,2} = dlmread(fileNamesArray{i});
end
Please refer this document for further information:
https://www.mathworks.com/help/releases/R2017b/matlab/ref/dlmread.html
The normal recommendation for dealing with csv files having data in any type is to use
textscan(), but textscan() is harder to deal with when there are string fields with missing values.
Textscan reads the data into a cell array and it matches the data in the file with the formatSpec.
Example:
fileNamesArray= {1.csv,2.csv};
for i = 1: numel(fileNamesArray)
f = fopen(fileNamesArray(i));
X = textscan(f, %s%s%s’, 'Delimiter', ',', 'HeaderLines', 1);
fclose(f);
end
Please refer this document for further information:
https://www.mathworks.com/help/releases/R2017b/matlab/ref/textscan.html
Hope this answers the query.

Community Treasure Hunt

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

Start Hunting!