How can i edit data in multiple text files?

1 view (last 30 days)
I have hundreds of .txt files of data, and i need to order that data, and save only the top and bottom 10% of it to the same .txt file.
I've looked arround and tryed some things out but with no luck so far.
This is what i have.
clear all
close all
clc
Folder = 'C:\Users\Bruno\Desktop\teste123';
FilePattern = fullfile(Folder, '*.txt');
TheFiles = dir(FilePattern);
for k = 1 : length(TheFiles)
BaseFileName = TheFiles(k).name;
FullFileName = fullfile(TheFiles(k).folder, BaseFileName);
Data = readmatrix(BaseFileName);
SortedData = sortrows (Data,-5);
RowsToDelete = [11:83];
SortedData(RowsToDelete,:) = [];
HighCorr = SortedData(1:10,:);
LowCorr = SortedData(11:20,:);
end
With this script, matlab only gives me the top and bottom 10% (named HighCorr and LowCorr) of the first file.
I need to save this in the respective .txt file, and do the same with the rest of my folder.
Can someone help please?
  11 Comments
Bruno Carvalho
Bruno Carvalho on 24 Mar 2021
Yes, thats perfect. Thank you very much.
Jan
Jan on 24 Mar 2021
Then I will repost it as an answer.

Sign in to comment.

Accepted Answer

Jan
Jan on 24 Mar 2021
SortedData = sortrows (Data, -5);
n = size(SortedData, 1);
Data = SortedData([1:10, 84:s], :);
writematrix(FullFileName, Data);

More Answers (0)

Community Treasure Hunt

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

Start Hunting!