2017-07-26 139 views
0

我有成千上万的文件夹,需要在MatLAB中编程数千个文件。这些都有标题,MatLAB无法读取。我一直在尝试使用dlmread函数,但是,它好像只能读取单个文件。有什么建议么?我的文件有两行标题。在MATLAB中删除头文件

我当前的代码(不工作的整个文件夹):

datadir='D:\Visitor\S\HA\Data\Folder1\2001' 
datadir1=dir(fullfile(datadir, 'ext*.txt')); EXT2001 = dlmread(datadir1,' ', 2, 0); 

谢谢!

+0

我真的不理解你的问题是什么,你已经指定一排'dlmread'会忽略头偏移。 – excaza

+0

类似的问题是的,但这个问题没有被接受的答案... – Eskapp

回答

1

您正在将数据结构从dir传递到dlmread。这是行不通的。您必须遍历由dir返回的文件,并分别将各个文件传递给dlmread。你可以存储输出数据在cell array,像这样:

nFiles = numel(datadir1); 
data = cell(1, nFiles); 
for iFile = 1:nFiles 
    filePath = fullfile(datadir1(iFile).folder, datadir1(iFile).name); 
    data{iFile} = dlmread(filePath,' ', 2, 0); 
end 
+0

谢谢!这完美的作品!我upvoted,但它没有显示。 –

+0

@ S.Smith:您没有足够的[rep](https://stackoverflow.com/help/whats-reputation)来注册,但是您可以将其标记为[accepted](https:// stackoverflow。 COM /帮助/接受应答)。 – gnovice

+0

它的工作,但它把我所有的数据放入1x4单元格。我可以单击单元格中的每个元素并将其展开,但是可以将它解压缩为单独的文件吗? –