open CSV and XLSX files
8 views (last 30 days)
Show older comments
Debbie Oomen
on 12 Oct 2017
Commented: Debbie Oomen
on 12 Oct 2017
myfiles = dir(fullfile(mydir,'*.*'));
for i=1:length(myfiles);
filename = myfiles(i).name;
if myfiles.xls
emg = xlsread(filename);
elseif myfiles.csv
emg = csvread(filename);
end
I want to open both csv and xlsx extension files that are in the same folder. When I try this script it gives me an error. What is the correct script?
0 Comments
Accepted Answer
Walter Roberson
on 12 Oct 2017
xlsread() can read csv files; you do not to handle the two differently.
But anyhow, if you have special reason for doing this, or just to see how it is done in case you want to add other formats not handled by xlsread():
myfiles = dir(fullfile(mydir,'*.*'));
for i=1:length(myfiles);
filename = myfiles(i).name;
[~, ~, ext] = fileparts(filename);
if strcmp(ext, '.xls')
emg = xlsread(filename);
elseif srcmp(ext, '.csv')
emg = csvread(filename);
end
end
5 Comments
Walter Roberson
on 12 Oct 2017
myfiles = dir(fullfile(mydir,'*.*'));
myfiles([myfiles.isdir]) = []; %skip . and .. and all other folders
for i=1:length(myfiles);
filename = myfiles(i).name;
[~, basename, ext] = fileparts(filename);
if isempty(basename)
fprintf('skipping dot file "%s"\n', filename)
continue; %go on to next file
end
switch ext
case {'.xls', '.xlsx'}
fprintf('it is xlsread for file "%s"\n', filename);
emg = xlsread(filename);
case '.csv'
fprintf('it is csvread for file "%s"\n', filename);
emg = csvread(filename);
otherwise
fprintf('Warning: file "%s" is unrecognized extension\n', filename);
continue; %go on to next file
end
fprintf('processing data with %d rows and %d columns\n', size(emg,1), size(emg,2));
t = emg(:,1);
y1 = emg (:,2);
N=length(y1);
ls=size(y1);
f = 1/N; %frequency
fprintf('processed the data in file "%s". Now what?\n', filename);
end
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!