在MATLAB中读取Mutli-Format数据文件

时间:2016-05-26 18:58:31

标签: matlab

我有一个看起来像这样的数据文件:

  

some_words
  有些话|更多的话   1 2 3 4
  1 2 3 4
  1 2 3 4
  
  
  some_other_words
  有些话|呐喊词   1 2 3 4
  1 2 3 4
  1 2 3 4

我想要做的只是读取数字,忽略文件中的换行符和文本,而不必使用fgetl并逐行迭代。如果我这样做:

data = textscan(fileId,'%f%f%f%f','CellectOutput',false,'Headerlines',2)

数据读入第一个文本块,但在到达换行符时停止。换行总是2行。不确定这是否有帮助。

1 个答案:

答案 0 :(得分:1)

您可以使用:

id = fopen('fgetl.m');

tline = fgetl(fid);
while ischar(tline)
    disp(tline)
    tline = fgetl(fid);
end

fclose(fid);

读取整个文件,或者:

clc;
fid = fopen('fileName.m');
sl = 2;
for i=1:sl
  header = fgetl(fid);
  disp(strcat("Header ignored: ",header));
end

while ischar(tline)
    disp(strcat("Line imported: ",tline))
    tline = fgetl(fid);
end

fclose(fid);

忽略前2行并导入其余部分,你应该在while循环中使用“tline”变量的值保存或做任何你想做的事情。 重要更改“sl”变量的值,表示您要在文件中忽略的行数。它适用于任何纯文本文件。