Azzera filtri
Azzera filtri

Do calculations in csv data one csv file at the time

3 visualizzazioni (ultimi 30 giorni)
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 Commenti
Martin Kneyber
Martin Kneyber il 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

Accedi per commentare.

Risposta accettata

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

Più risposte (1)

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

Categorie

Scopri di più su Data Import and Analysis in Help Center e File Exchange

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by