2017-06-05 104 views
0

文本我特林用Matlab讀取follwing文本文件:閱讀格式從文件

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. 

請,有人知道如何通過線分別提取線每列?

+1

嘗試'C {2}(1)',它工作嗎? –

+1

是的,我認爲安德說過的將會起作用。這是一個單元格內的矢量。 – Numbers682

+0

是的,它的作品!謝謝@AnderBiguri! – inavas

回答

1

這些數字是在一個數組而不是單元格中,這對後面的過程應該更方便。您可以通過

C{2}(1) % C{2} is 3x1 array, not cell 

訪問數如果不適合你的需要,你可以嘗試像IMPORTDATA一些功能。