How do I import Data from a different folder?

조회 수: 17 (최근 30일)
Dropbox406
Dropbox406 2014년 12월 13일
답변: Suhas gowda 2023년 5월 6일
So I can't change the directory of the data files so need a way of changing where matlab looks for the data.
The code I have so far is:
list = dir ('data_folder/*.dat'); |%where the .dat files are|
[~,index] = sortrows({list.date}.'); list = list(index); clear index |%Sorts them out by date|
for i = 1:length(list);
A(:,i) = importdata(list(i).name);
end
Thank you so much for your help!

답변 (3개)

Image Analyst
Image Analyst 2014년 12월 13일
Try this:
% Get path to a sub folder off the current working directory.
filePattern = full file(pwd, 'data_folder/*.dat');
list = dir (filePattern );
You can replace pwd by any hard coded string if you want, or else call uigetdir() to let the user browse.
  댓글 수: 4
Dropbox406
Dropbox406 2014년 12월 17일
fullFileName is C:\xx\xx\composite1.dat where it should be C:\xx\xx\data_folder\composite1.dat
How do I get it to add the data_folder part?
My code is:
filePattern = fullfile(pwd, 'data_folder/*.dat');
list = dir (filePattern );
[~,index] = sortrows({list.date}.'); list = list(index); clear index
for i = 1:length(list);
fullFileName = fullfile(pwd, list(i).name);
A(:,i) = importdata(fullFileName);
end
Currently get the error:
Error using importdata (line 136) Unable to open file.
Error in load_data_test (line 15) A(:,i) = importdata(fullFileName);
:(
Dropbox406
Dropbox406 2014년 12월 17일
The other way to do it is to add 'data_folder/' in front of all the names of the file directories in the list, would that be easier?

댓글을 달려면 로그인하십시오.


Thorsten
Thorsten 2014년 12월 17일
Easy as
addpath('C:\xx\xx\data_folder\composite1.dat')
  댓글 수: 2
Dropbox406
Dropbox406 2014년 12월 17일
Problem is that I need to send it to a different computer so can't add the very specific 'C:\xx\xx\' part at the beginning as it will not run on other computers..
Thorsten
Thorsten 2014년 12월 17일
편집: Thorsten 2014년 12월 17일
If it's just one other computer, just add both paths to your Matlab path. One path would be invalid on either computer, but this gives just a warning that you can savely ignore.

댓글을 달려면 로그인하십시오.


Suhas gowda
Suhas gowda 2023년 5월 6일
This works well for me
[file,path] = uigetfile('*.mat'); % opens file selection dialog box. You may choose data from different folder
A=importdata(strcat(path,file)); % data will be imported from the specified path

카테고리

Help CenterFile Exchange에서 File Operations에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by