使用 textscan 读取包含一些空值的文件

Reading a file with a few empty values using textscan

我正在尝试使用 textscan 读取文本文件,但我遇到了一些问题。我发现 textscan 没有读取空值,但我无法让它工作。

我试过使用它,我什至用 'space' 替换了 \t 但它只是返回空白数组,唯一有效的单元格是第一个 (Data{1,1})

fid = fopen('20150630_ircs_data.txt');
Data = textscan(fid,'%s %s %s %s %s %f %f %s %f %f %f %f %f %s %f %f %f %f %f', 'Delimiter', '\t', 'EmptyValue', 0)
fclose(fid);

问题出在第 5 行的空行中:

文件:https://gist.github.com/anonymous/5d9600eb0426e3faaadc

问题是您使用了不同的分隔符。 2 "space", 3 "space" ...

因此您需要添加分隔符:

Data = textscan(fid,'%s %s %s %s %s %f %f %s %f %f %f %f %f %s %f %f %f %f %f', 'Delimiter',delimiter, 'EmptyValue', 0)

delimiter = {'  ','        ','     ','   '};