Clear Filters
Clear Filters

Do calculations in csv data one csv file at the time

3 views (last 30 days)
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
Martin Kneyber
Martin Kneyber on 27 Apr 2024
Sure, but there are a lot of files and each files has a big number of rows - hence looking for a way to automate it

Sign in to comment.

Accepted Answer

Voss
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')

More Answers (1)

Image Analyst
Image Analyst on 27 Apr 2024
See the FAQ for code samples to process a sequence of files:

Categories

Find more on Data Import and Analysis in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!