我有一个看起来像这样的数据文件:
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行。不确定这是否有帮助。
答案 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”变量的值,表示您要在文件中忽略的行数。它适用于任何纯文本文件。