Brace indexing is not supported for variables of this type.
2 views (last 30 days)
Show older comments
Sateesh Kandukuri
on 2 Dec 2020
Commented: Sateesh Kandukuri
on 5 Dec 2020
I am getting the following error for the attached code.
Error in Readfiles (line 8)
data = readmatrix(fnames{idx});
Could you please help me out.
0 Comments
Accepted Answer
Ameer Hamza
on 2 Dec 2020
fname is a struct, not a cell array. Change the line to
data = readmatrix(fnames(idx).name);
9 Comments
Ameer Hamza
on 5 Dec 2020
This code does not contain the line
data = readmatrix(fnames(idx).name);
as shown in your previous comment. In any case, N is a cell array in your case and you can acess the filenames like this
data = readmatrix(N{idx});
More Answers (1)
KSSV
on 2 Dec 2020
% List all CSV files
fnames = dir('*.csv');
% Pre-allocate output vector
ranges = zeros(numel(fnames), 1);
% Loop over file names
for idx = 1:numel(fnames)
% Read the CSV data
data = readmatrix(fnames(idx).name);
% Get the 5th column
col5 = data(:,5);
% Get the range for this file
ranges(idx) = max(col5) - min(col5);
end
% Write the result
writematrix(ranges, 'ranges.csv');
See Also
Categories
Find more on Structures in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!