2013-07-03 80 views
6

matlabでCSVファイルを読み込もうとしています。私はちょうど2列目を読んでみたいですが、以下のコードはCSVファイルのすべてを表示しています。私はそれを作るために導入する必要がありどのようなパラメータや機能はいくつかの方法がありますmatlabのCSVファイルから特定の列を読み取る

FILENAME = 'C:\Users\Desktop\Results.csv'; 

fid = fopen(FILENAME, 'rt'); 
a = textscan(fid, '%s', 'HeaderLines',1,'Delimiter',','); 
fclose(fid); 
celldisp(a) 

答えて

8

ちょうど第二カラムを読む:あなたがファイル1にN行を持っていると仮定すると

cvsreadを使用して
  1. a = csvread(FILENAME, 0, 1, [0 1 N-1 1 ]); 
    
  2. tはまた

    a = xlsread(FILENAME, 'B:B'); 
    

    xlsreadxlsreadドキュメント上の特定のexampleを参照してください考えます。

  3. 別のオプションは、dlmread

    a = dlmread(FILENAME, ',', [0 1 N-1 1]); 
    

です - MATLABでのファイルの行数をカウントする素敵な(そして速い)方法がthis answer by Rody Oldenhuisで見つけることができます。

+0

N = 10にして、警告が表示されます。RとCはRANGE(1:2)と一致する必要があります。代わりにDLMREAD(FILE、DELIMITER、RANGE)を使用してください。 > dlmread at 110 in csvread at 54 read in 6 ??? ==> dlmread at 145を使用しているエラー ファイルとフォーマット文字列の間に不一致があります。 ファイルから行番号を読み取るときに問題が発生しました(行1、項目2)==> DFA S ==> csvread at 54 m = dlmread(filename、 '、'、r、c、rng); ==> 6で読み取ったエラー a = csvread(FILENAME、0、0、[0 1 10 1]); – Xara

+0

@Zara 'csvread(ファイル名、0,1、[0 1 N 1]); ' – Shai

+0

???未定義関数または変数 'N'。 ==> 6で読み取ったエラー csvread(FILENAME、0、1、[0 1 N 1]); – Xara

関連する問題