![]() |
MATLAB-从目录中读取文件?
我希望从目录中读取文件,并对每个文件进行迭代操作。此操作不需要更改文件。
我知道我应该为此使用for循环。到目前为止,我已经尝试过: FILES = ls('path\to\folder'); for i = 1:size(FILES, 1); STRU = pdbread(FILES{i}); end 这里返回的错误向我(一个新手)建议,使用ls()列出目录不会将内容分配给数据结构。 其次,我尝试创建一个文件,该文件的每一行均包含文件的路径,例如, C:\Documents and Settings\My Documents\MATLAB\asd.pdb C:\Documents and Settings\My Documents\MATLAB\asd.pdb 然后,我使用以下代码读取该文件: fid = fopen('paths_to_files.txt'); FILES = textscan(fid, '%s'); FILES = FILES{1}; fclose(fid); 此代码读取文件,但在路径中存在空格的地方创建换行符,即 'C:\Documents' 'and' 'Setting\My' 'Documents\MATLAB\asd.pdb' 最终,我打算使用for循环 for i = 1:size(FILES, 1) PDB = pdbread(char(FILES{i})); 读取每个文件,但pdbread()引发错误,表明文件格式不正确或不存在。 这是由于在读取路径文件时路径的换行符分隔吗? 任何帮助或建议,不胜感激。 谢谢,S :-) [B]回答:[/B] 首先获取符合您条件的所有文件的列表: (在这种情况下, [B]C:\ My Documents \ MATLAB中的[/B] [B]pdb[/B]文件) matfiles = dir(fullfile('C:', 'My Documents', 'MATLAB', '*.pdb')) 然后读取文件,如下所示: (这里[B]i[/B]可以从1到文件数不等) data = load(matfiles(i).name) 重复此操作,直到已读取所有文件。 如果可以[B]重命名文件,[/B] [B]则更简单的选择[/B]如下: 首先保存需求。文件为1.pdb,2.pdb,3.pdb等... 然后在Matlab中迭代读取它们的代码如下: for i = 1:n str = strcat('C:\My Documents\MATLAB', int2str(i),'.pdb'); data = load(matfiles(i).name); % use our logic here % before proceeding to the next file end [url=https://stackoverflow.com/questions/3013382]更多&回答...[/url] |
所有时间均为北京时间。现在的时间是 01:05。 |
Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.