【问题标题】:Removing headers in MATLAB [duplicate]删除 MATLAB 中的标头 [重复]
【发布时间】:2017-07-26 21:09:32
【问题描述】:

我有数千个文件夹,其中包含数千个需要在 MatLAB 中编程的文件。这些都有标头,MatLAB 无法读取。我一直在尝试使用 dlmread 函数,但是,它似乎只能读取单个文件。有什么建议么?我的文件有两行标题。

我当前的代码(不适用于整个文件夹):

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

谢谢!

【问题讨论】:

  • 我不太明白你的问题是什么,你已经用dlmread 指定了一个行偏移量,它将忽略标题。
  • 类似问题是的,但该问题没有可接受的答案...

标签: matlab file header directory


【解决方案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

【讨论】:

  • 谢谢!这完美!我投了赞成票,但它没有出现。
  • @S.Smith:你还没有足够的rep 来投票,但你可以将其标记为accepted
  • 它起作用了,但是它将我的所有数据放入一个 1x4 单元格中。我可以单击单元格中的每个元素并将其展开,但是否可以将其提取到单独的文件中?
猜你喜欢
  • 2018-03-24
  • 1970-01-01
  • 2015-01-20
  • 2013-07-05
  • 2017-09-23
  • 1970-01-01
  • 2016-12-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多