How to identify text files with zero value

3 visualizaciones (últimos 30 días)
Tanmoyee Bhattacharya
Tanmoyee Bhattacharya el 17 de Abr. de 2023
Comentada: dpb el 19 de Abr. de 2023
I have 10 text files and each text file has 9 rows and one column. In some text file total column is zero. Like
0
0
0
0
In other file there are zero values and numbers. Like
0
1
2
0
3
4
5
I want to extract text files with total column of zero values
0
0
0
0
0
If there is any way to extract the text files

Respuesta aceptada

dpb
dpb el 17 de Abr. de 2023
Movida: dpb el 17 de Abr. de 2023
"...is any way to extract the text files[?]"
What do you mean by "extract", precisely? What is the end result you're after; to read the data files that actually contain one or more nonzero values, identify which files are those that contain only zero values, ...?
The answer to all of those will be based on simply reading each file in turn and testing the content something like
d=dir('*.txt'); % substitute suitable wildcard for your case to identify wanted files
for i=1:numel(d)
data=readmatrix(fullfile(d(i).folder,d(i).name));
if any(data)
%...do what need to do for those with some nonzero values here
else
%...and all zeros here...
end
end
  7 comentarios
Walter Roberson
Walter Roberson el 19 de Abr. de 2023
Editada: Walter Roberson el 19 de Abr. de 2023
Old enough versions of MATLAB did not have the .folder property of dir() results.
%the below logic requires that the data file be just a list of numbers,
%one per line, with no headers. (Or if it has headers, the header line must
%start with '%' characters.)
%if this is not true, if there are header lines, the code would need to be
%modified
folder_to_search = 'C:\Users\DELL\Desktop\file';
folder_to_move_allzero = './all0';
folder_to_move_rest = './not0';
if ~isdir(folder_to_move_allzero); mkdir(folder_to_move_allzero); end
if ~isdir(folder_to_move_rest); mkdir(folder_to_move_rest); end
d = dir( fullfile(folder_to_search, '*.txt')); % substitute suitable wildcard for your case to identify wanted files
for i=1:numel(d)
thisfile = fullfile(folder_to_search,d(i).name);
data = load(thisfile, '-ascii');
if any(data)
movefile(thisfile, folder_to_move_rest);
else
movefile(thisfile, folder_to_move_allzero);
end
end
dpb
dpb el 19 de Abr. de 2023
I certainly had forgotten that fact, Walter...

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Low-Level File I/O en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by