使用matlab从目录中读取多个文件
read multiple files in from a directoryusing matlab
如何使用matlab从一个目录中读取多个文件?有人可以帮助更正我的以下代码吗:
files =dir(fullfile(directory_path,'*.dat'));
numfiles = length('*.dat');
mydat = cell(1, numfiles);
for k = 1:numfiles
mydata{k} = fopen([directory_path,files(k).name]);
values=textscan(mydata{k},'%s','delimiter','\n');
fclose(fid);
%fprintf(values)
....do something with values.....
end
.dat 文件只是多行单列的字符串,需要在循环中读取并进一步处理。
谢谢
fopen
给出文件指针,你保存到mydata{k}
,尝试在fclose(fid)
释放。没有fid
,所以不行。
您应该做的是将 mydata{k}
替换为 fid
。可能 values
由 mydata{k}
.
另一个错误在 numfiles = ...
中。您将始终拥有 numfiles = 5,因为“*.dat”中有 5 个字符。
numfiles = length(files);
会更好,尽管您也会计算目录。检查如何解决此问题的其他问题之一。
谢谢 Zizy Archer。
我是这样解决问题的:
files =dir(fullfile(directory_path,'*.dat'));
numfiles = length(files);
for k = 1:numfiles
textFileName = [directory_path,files(k).name]
fid = fopen(textFileName, 'r');
textData = textscan(fid,'%s','delimiter','\n');
fclose(fid);
data = textData{:,1}
end
如何使用matlab从一个目录中读取多个文件?有人可以帮助更正我的以下代码吗:
files =dir(fullfile(directory_path,'*.dat'));
numfiles = length('*.dat');
mydat = cell(1, numfiles);
for k = 1:numfiles
mydata{k} = fopen([directory_path,files(k).name]);
values=textscan(mydata{k},'%s','delimiter','\n');
fclose(fid);
%fprintf(values)
....do something with values.....
end
.dat 文件只是多行单列的字符串,需要在循环中读取并进一步处理。
谢谢
fopen
给出文件指针,你保存到mydata{k}
,尝试在fclose(fid)
释放。没有fid
,所以不行。
您应该做的是将 mydata{k}
替换为 fid
。可能 values
由 mydata{k}
.
另一个错误在 numfiles = ...
中。您将始终拥有 numfiles = 5,因为“*.dat”中有 5 个字符。
numfiles = length(files);
会更好,尽管您也会计算目录。检查如何解决此问题的其他问题之一。
谢谢 Zizy Archer。
我是这样解决问题的:
files =dir(fullfile(directory_path,'*.dat'));
numfiles = length(files);
for k = 1:numfiles
textFileName = [directory_path,files(k).name]
fid = fopen(textFileName, 'r');
textData = textscan(fid,'%s','delimiter','\n');
fclose(fid);
data = textData{:,1}
end