Importing multiple text files into MATLAB
20 次查看(过去 30 天)
显示 更早的评论
I am trying to import multiple text files into MATLAB and save it as a .mat file after it has been imported. It works when I do it one file at a time by using the following command, for example:
T1_1041 = importdata('20101011_114543_VIN9375_Trigger01.txt');
but when I try to save the file name into a variable and try to use the importdata function with that variable as the file name. It does not work, like below:
myfile = '20101011_114543_VIN9375_Trigger01.txt'
[files,path] = uigetfile('MultiSelect', 'on');
for n=1:length(files);
myfile = files(n);
files(n).data=importdata(myfile);
save files(n).data
end
It gives an error inside the importdata function.
1 个评论
Jan
2011-2-7
Please use the code formatting to improve the readability. If you get an error, it would be very helpful to post the error message.
采纳的回答
Jan
2011-2-7
Your variable "files" is a cell string, therefore you need curly braces. During the loop you overwrite the original "files" by a struct. The variable "myfile" is overwritten also - it looks really confused.
[filenames, pathname] = uigetfile('MultiSelect', 'on');
filenames = cellstr(filenames); % EDITED
for n = 1:length(filenames)
afile = fullfile(pathname, filenames{n}); % EDITED
data = importdata(afile);
% Remove the file extension file the name:
[dummy, afilename] = fileparts(filenames{n});
save(afilename, 'data');
end
If you want to save all data in one MAT file, explain this again with more details.
4 个评论
Doug Eastman
2011-2-7
Another question that would cause this problem - do you change directories in the file selection gui?
更多回答(1 个)
Doug Eastman
2011-2-7
To be more robust to directory changes or single file selections, you might want to use something like the following:
[files,path] = uigetfile('MultiSelect', 'on');
if iscell(files)
for n = 1:length(files)
data = importdata(fullfile(path,files{n})); % fullfile including path
% save data
end
else
data = importdata(fullfile(path,files));
% save data
end
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Workspace Variables and MAT-Files 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!