How to read part of folder

3 visualizzazioni (ultimi 30 giorni)
DuckDuck
DuckDuck il 12 Dic 2014
Modificato: Guillaume il 12 Dic 2014
I have my data saved into folders based on time of creation. the structure is like this:
folder: 05_dec._2014_08-15-03.331_GMT+00-00
files: OneName_05_dec._2014_08-15-03.331_GMT+00-00.txt
AnotherName_05_dec._2014_08-15-03.331_GMT+00-00.txt
JetAnotherName_05_dec._2014_08-15-03.331_GMT+00-00.txt
How can i do so that every time i add a folder, i'll need to only give the folder name and it will read file names based on some schema.
for example
First = csvread('OneName_whatever_folder_name.txt')
Second = csvread('AnotherName_whatever_folder_name.txt');

Risposte (2)

Orion
Orion il 12 Dic 2014
you can use fullfile
Folder = 'C:\users\....\05_dec._2014_08-15-03.331_GMT+00-00'; % put your own folder path
File = 'OneName_whatever_folder_name.txt';
csvread(fullfile(Folder,File))
  1 Commento
DuckDuck
DuckDuck il 12 Dic 2014
I want to eleminate writing the file name every time i need to access a folder with files. Because each folder has the same nr of files but they differ from timestamp in their name.

Accedi per commentare.


Guillaume
Guillaume il 12 Dic 2014
Modificato: Guillaume il 12 Dic 2014
How about:
foldername = 'whatever'; %adjust to folder name, your input.
basepath = 'C:\somewhere\ondisk'; %adjust as required. A constant.
filesinfolder = dir(fullfile(basepath, foldername, sprintf('*_%s.txt', foldername)));
filecontent = cell(numel(filesinfolder), 1);
for filecount = 1 : numel(filesinfolder)
filecontent{filecount} = csvread(fullfile(basepath, foldername, filesinfolder(filecount).name));
end
  2 Commenti
DuckDuck
DuckDuck il 12 Dic 2014
I get empty filesinfolder and filescontent!!!
Guillaume
Guillaume il 12 Dic 2014
Modificato: Guillaume il 12 Dic 2014
I've not understood your pattern then, I thought the file names were just the folder name preceded by something and an underline _ and followed by .txt. If that's not the case, then yes, filesinfolder will be empty.
What does the following outputs?
d = dir(fullfile(basepath, foldername));
fullfile(foldername, {d.name}')

Accedi per commentare.

Community Treasure Hunt

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

Start Hunting!

Translated by