How to find the csv that lesser length of rows then 800 and append the same file chunk to fill the missing values.

1 view (last 30 days)
Question No 1 is how can i find those files that have less number of rows or rows are not equal to 800? Question No 2 is after finding those file I want to fill those rows in chunks like if file contain 632 Rows. 32 rows are discarded and append 200 consecutive chunk (this chunk is copied from same file like 1 t0 200 ) at the end of file which make it 800. meaning we are replacing last 32 rows with first 200 rows of this file to complete 800 length of file
Before this i have completed these missing rows with mean code is attached
home_dir = 'D:\DS\Activity_Recognition';
sensors = dir(home_dir);
for sens =3:length(sensors)
classes = dir(fullfile(home_dir, sensors(sens).name));
for cls=3:length(classes)
data = dir(fullfile(home_dir, sensors(sens).name, classes(cls).name));
toWrite = cell(zeros(1,1));
for dat = 3:length(data)
tmp = load(fullfile(home_dir, sensors(sens).name, classes(cls).name, data(dat).name));
tmp = tmp(:,2:end);
% % %
n_rows_target = 800; % extend to 800 rows, with mean of each column
n_rows = size(tmp,1);
if n_rows < n_rows_target
mean_tmp = mean(tmp,1);
tmp(n_rows+1:n_rows_target,:) = repmat(mean_tmp,n_rows_target-n_rows,1);
end
%for 5 Sec
for ch=1:4
xTmp = tmp(((ch-1)*200)+1:ch*200, 1);
yTmp = tmp(((ch-1)*200)+1:ch*200, 1);
zTmp = tmp(((ch-1)*200)+1:ch*200, 1);
xFeat = computeStatFeats(xTmp, length(xTmp));
yFeat = computeStatFeats(yTmp, length(yTmp));
zFeat = computeStatFeats(zTmp, length(zTmp));
toWrite{dat-2, 1} = [xFeat yFeat zFeat];
end
fprintf('Computing %s Features: %d\n', classes(cls).name, length(data)-dat-2);
end
toWrite = cell2mat(toWrite);
writematrix(toWrite, strcat(sensors(sens).name, '_', strrep(classes(cls).name, ' ', '_'), '.csv'));
end
end
  1 Comment
shery khan
shery khan on 1 Jul 2022
Find the file which length is less the 800 then do like
1 to 641
delete last 41 rows
now data in file will be
1 to 600
copy 1 to 200 rows and append in the last
Thanks

Sign in to comment.

Answers (0)

Categories

Find more on Data Import and Analysis 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!