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

时间:2016-01-23 22:26:49

标签: matlab fopen delimiter textscan

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

我已尝试过使用此功能,我甚至用“空间”替换了\ t \ 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行的空行中:

enter image description here

档案:https://gist.github.com/anonymous/5d9600eb0426e3faaadc

1 个答案:

答案 0 :(得分:3)

问题是你有不同的分隔符。 2“空间”,3“空间”......

所以你需要添加一些分隔符:

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 = {'  ','        ','     ','   '};