How to put a struct files into a new folder

5 visualizaciones (últimos 30 días)
Coco
Coco el 19 de Jul. de 2019
Editada: Nagamani Yaadavalli el 8 de Dic. de 2020
Hi guys,
After i use the following code to find files i want, how to put those files into the new folder? Thank you.
This code will give me the info of files in a struct such as name, path, size etc.
files = dir('D:\Data\**\*.mat')
  4 comentarios
Walter Roberson
Walter Roberson el 19 de Jul. de 2019
To confirm: even though each of the level 3 folders has 100+ files, you want to extract only the one where the "cell" number prefix matches the folder name? Does it happen to be the case that those are the only cell*_Area.csv files in those folders? For example, there is no cell1_Area.csv inside MDA cell2 that needs to be ignored because the cell# prefix does not match the folder name ?
Coco
Coco el 22 de Jul. de 2019
Hi Walter
Sorry for the late reply.
Each csv file's name is unique and the cell# prefix matches the folder name.
For example: in folder 'MDA cell1', all of csv file is 'cell1_Area','cell1_distance'.... There is no cell2_* in folder 'MDA cell1'.

Iniciar sesión para comentar.

Respuesta aceptada

Walter Roberson
Walter Roberson el 22 de Jul. de 2019
destdir = 'D:\Data\MDA\MDA Matlab\Area';
files = dir('D:\Data\MDA\MDA*\cell*_Area.csv');
fullnames = fullfile({files.folder}, {files.name});
if ~exist(destdir, 'dir')
mkdir(destdir);
end
copyfile(fullnames, destdir); %or movefile() if appropriate
  4 comentarios
Coco
Coco el 23 de Jul. de 2019
Hi Walter
Thank you so much. It works very well. it saved me tons of time. I have 2000 csv files need to be sorted like this.
Nagamani Yaadavalli
Nagamani Yaadavalli el 8 de Dic. de 2020
Editada: Nagamani Yaadavalli el 8 de Dic. de 2020
What if the output data has to save in an excel/csv format in a different folder. Here the the output of Analysis1 wants to save in a new excel/csv file in different folder or soeother directory. Please help me with this code.
% getting the folder directory of files you want to work
myFolder = '/Users/xxxxx/Desktop/xxxxx/Tests/27.11.2020 csv/Total';
% code for determining the file pattern that you have, * represents all the
% files
filePattern = fullfile(myFolder, '*.csv');
% code for addressing all the files
theFiles = dir(filePattern)
for k = 1: length(theFiles)
baseFileName = theFiles(k).name;
fullfilename = fullfile(theFiles(k).folder,baseFileName)
fprintf(1,fullfilename);
Test= dlmread(fullfilename,',',1,2)
theMeans = mean(Test,1)
Analysis1(:,k) = theMeans'
end

Iniciar sesión para comentar.

Más respuestas (1)

Coco
Coco el 22 de Jul. de 2019
i also tried to save the file one by one, then it worked. just i dont know how to save them all automatically. any help? thank you.
f=fullfile('D:\','Data','MDA231','MDA231 Mito cell1_Statistics','MDA231 Mito cell1_Area.csv')
f =
'D:\Data\MDA231\MDA231 Mito cell9_Statistics\MDA231 Mito cell9_Area.csv'
>> copyfile(f, destdir)

Categorías

Más información sobre File Operations 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