How to read part of folder

6 Ansichten (letzte 30 Tage)
DuckDuck
DuckDuck am 12 Dez. 2014
Bearbeitet: Guillaume am 12 Dez. 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');

Antworten (2)

Orion
Orion am 12 Dez. 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 Kommentar
DuckDuck
DuckDuck am 12 Dez. 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.

Melden Sie sich an, um zu kommentieren.


Guillaume
Guillaume am 12 Dez. 2014
Bearbeitet: Guillaume am 12 Dez. 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 Kommentare
DuckDuck
DuckDuck am 12 Dez. 2014
I get empty filesinfolder and filescontent!!!
Guillaume
Guillaume am 12 Dez. 2014
Bearbeitet: Guillaume am 12 Dez. 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}')

Melden Sie sich an, um zu kommentieren.

Community Treasure Hunt

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

Start Hunting!

Translated by