【问题标题】:MATLAB textscan headerlinesMATLAB textscan 标题行
【发布时间】:2013-01-05 14:11:07
【问题描述】:

当我尝试使用 headerlinestextscan 跳过文本文件的第一行时,我的所有数据单元格都存储为空。

fid = fopen('RYGB.txt');
A = textscan(fid, '%s %s %s %f', 'HeaderLines', '1'); 
fclose(fid);

这段代码给出了

1x4 Cell
[] [] [] []

如果没有headerlines 部分并且没有需要在文本文件中跳过的第一行,则可以毫无问题地读入数据。它会创建一个1x4 cell,其中的数据单元格包含列中文本文件中的所有信息。

如何跳过文本文件的第一行并正常读取我的数据?

谢谢

【问题讨论】:

    标签: matlab textscan


    【解决方案1】:

    我认为您的问题是您为 HeaderLines 指定了 string 而不是 integer 值。字符 '1' 被解释为其 ASCII 值 0x31(十进制 49),因此前 49 行被跳过。您的文件可能包含 49 行或更少,因此所有内容最终都会被丢弃。这就是你得到空单元格的原因。

    解决方案是将'1' 替换为1删除引号),如下所示:

    A = textscan(fid, '%s %s %s %f', 'HeaderLines', 1);
    

    这应该可以解决问题。

    【讨论】: