這將是我的建議:
% Load files with multiselect
[file,dir,filterIndex] = uigetfile(...
{'*.csv', '*.csv';
'*.*', 'All Files (*.*)'}, ...
'Pick files',...
'Multiselect', 'on');
% 'file' will be a cell array of file names if you read more than one file, but
% it will be a char array if you only read one file. If only one file is
% chosen, put it into a cell.
if ischar(file)
file = {file};
end
% Loop through all files and use textscan
n = length(file);
data = cell(n,1);
for k = 1:n
fid = fopen([dir,file{k}]);
data{k} = textscan(fid,'%*s %s %f %*s %s %*[^\n]',...
'delimiter',',','HeaderLines',1);
fclose(fid);
end
的textscan調用上面說:
- 經過文件
fid
- 跳過列1
- 款待列2作爲字符串
- 將第3列作爲雙重對象
- 跳過列4
- 款待柱5作爲字符串
- 跳過其餘列
- 使用逗號分隔符
- 忽略第一行
如果加載n
文件,變量data
將是包含單元矩陣與每個文件數據的nx30
單元陣列。
我希望這個幫助。讓我知道是否還有其他事情可以做。
爲什麼鏈接的答案沒有幫助?這正是你需要做的。加載數據後,您只需刪除不關心的列。 – Suever