我尝试使用“importdata”通过循环从多个子文件夹中读取多种格式的 csv 文件。我注意到最后 30 行的重要数据被截断了。为什么会这样?
我想这可能是 CSV 文件的这一部分有不同的列数。例如,第 1 到 195 行有 5 列,那么第 196 到 233 行有 9 列。数据有文本、小数、整数格式。
我的代码如下所示:
tic;
[P,F] = subdir('results');
filesPath = P;
files = F;
file_num = length(files);
x = [1:3:file_num-2]; % delete indicative names directories as it is not used
filesPath(x) = [];
files(x) = [];
nfilesleft = length(filesPath);
startFolder = pwd;
% 'for loop' to extract 2 data fields by an indicative name
for k = 1:nfilesleft
cd(filesPath{k})
pwd
filesExtract = files{k};
numFiles = numel(filesExtract);
for i = 1:numFiles
%[pathstr,name,ext] = fileparts(filesExtract{i})
Input{i,k} = importdata(filesExtract{i});
end
cd(startFolder); % go back to the starting directory
end
toc;
任何人都可以提出更好的方法来读取多格式 csv 文件以进行进一步分析,您必须追踪某种类型的数据并使用索引来绘制它或做其他任何事情。
谢谢!