Do calculations in csv data one csv file at the time

3 次查看(过去 30 天)
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 个评论
Martin Kneyber
Martin Kneyber 2024-4-27
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

请先登录,再进行评论。

采纳的回答

Voss
Voss 2024-4-27
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')

更多回答(1 个)

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

类别

Help CenterFile Exchange 中查找有关 Data Import and Analysis 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by