我想用Matlab阅读下面的文本文件:
00000008.jpg 1 2 1
00000001.jpg 1 2 1
00000054.jpg 1 2 1
我想要提取的是每行的每一列,以便访问它。
我尝试过以下代码:
fileLabels = fopen('file.txt');
C = textscan(fileLabels,'%s %n %n %n');
celldisp(C)
它返回:
C{1}{1} =
00000008.jpg
C{1}{2} =
00000001.jpg
C{1}{3} =
00000054.jpg
哪个好,因为这样我在单元格中分隔了第一个字符串,但是,当我尝试获取数字时,它们会以这种方式出现:
C{2} =
1
1
1
C{3} =
2
2
2
C{4} =
1
1
1
它们不是在细胞中分开,而是在一个细胞中出现。如果我尝试访问2º列的一个单元格,则会出现以下错误:
>> C{2}{1}
Cell contents reference from a non-cell array object.
请知道,如何逐行分别提取每一列?
答案 0 :(得分:1)
数字是数组而不是单元格,这对后续过程应该更方便。您可以通过
访问这些号码C{2}(1) % C{2} is 3x1 array, not cell
如果这不符合您的需要,您可以尝试使用importdata等功能。