Do calculations in csv data one csv file at the time
4 views (last 30 days)
Show older comments
I have several csv files. Want to perform calculations on the data in the csv file, for example calculating variable x. Then, I want one table with in the first column the filename of each csv file and then in the next column the calculated variable x. How can I do this? Newbie,so sorry for asking.
3 Comments
Dyuman Joshi
on 27 Apr 2024
Use readtable or readmatrix to import the data, and their counter-parts writetable or writematrix to export the data.
Accepted Answer
Voss
on 27 Apr 2024
Something like this; adjust as necessary.
% use dir() to get info about the relevant csv files:
csv_dir = '.';
F = dir(fullfile(csv_dir,'*.csv'));
filename = fullfile({F.folder},{F.name}).';
% preallocate x. I assume it's a scalar numeric for each file
N = numel(F);
x = zeros(N,1);
% loop over the files
for ii = 1:N
% read each file (use the appropriate function with the appropriate options)
data = readtable(filename{ii});
% ...
% calculate this_x based on data
% ...
% store this_x
x(ii) = this_x;
end
% write file with file names and x values
T = table(filename,x);
writetable(T,'out.csv')
2 Comments
More Answers (1)
See Also
Categories
Find more on File Operations 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!