Extracting a file path from a .txt file
12 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Hi, I want to build a script that is able to retrieve information from a text file that has a specific format. I have simplified a lot what's below so everyone can understand my problem, which is pretty basic. This is a sample of such file, stored as "mytestfile.txt':
% Your inputs start after the line.
% ---------------------------------------------
% Raw data full path folder:
InputFolder C:\Users\Cami\Documents\Processing Tool\Test Folder - Trial 1
% Distance from seabed to transducer head (in meters)
instrument_nominal_height 0.9
So I have started to write a code that reads this text file:
SummaryFileTest='mytestfile.txt';
A=textread(SummaryFileTest,'%s','delimiter','\n');
for p=1:length(A)
test=strmatch('InputFolder',A(p));
if test~=0
[a,result.InputFolder]=strread(char(A(p)),'%s %s');
clear a
end
test=strmatch('instrument_nominal_height',A(p));
if test~=0
[a,result.instrument_nominal_height]=strread(char(A(p)),'%s %f');
clear a
end
end
result
result.instrument_nominal_height works fine, it picks up 0.9 as a float. But I am having trouble with result.InputFolder because the string has spaces and a "-". I get this:
result =
struct with fields:
InputFolder: {5×1 cell}
instrument_nominal_height: 0.900000000000000
>> result.InputFolder
ans =
3×1 cell array
'C:\Users\Cami\Documents\Processing'
'Folder'
'Trial'
Do you have a better method to do this? I can't change the paths of the folders where my text files will be stored, as this is part of my company's drive.
Thanks doe your help! Cheers, Cami.
1 comentario
Stephen23
el 12 de Jun. de 2018
@Camille Couzi: please upload a sample data file by clicking the paperclip button.
Respuestas (2)
Alfonso
el 12 de Jun. de 2018
Editada: Alfonso
el 12 de Jun. de 2018
Attending to the title of your question, in order to extract the full path filename of a file:
% Select the file you want to open %
defaultFileName = fullfile(cd, '*.*');
[baseFileName, folder] = uigetfile(defaultFileName, 'Select file');
if baseFileName == 0
return;
end
fullFileName = fullfile(folder, baseFileName); % Full path filename
if ~exist(fullFileName, 'file')
fullFileName = baseFileName;
if ~exist(fullFileName, 'file')
return;
end
end
fullFileName is the full path of the selected file.
3 comentarios
kc
el 16 de En. de 2020
Hey @Camille is your task done?
Plz help as m stuck in similar problem.
I have a text file from which i need to read the path of my data files and if certain text is appearing in file then i need to save it in a different folder. In this way i have to prepare many diffrent folders plz help.
Thanks in advance.
Ver también
Categorías
Más información sobre Text Files en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!