从matlab中的CSV文件中读取特定列

Xar*_*ara 6 csv matlab

我正在尝试在matlab中读取CSV文件.我只想阅读第二列,但下面的代码打印出CSV文件中的所有内容.我必须引入哪些参数或函数才能使它只读取第二列

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

fid = fopen(FILENAME, 'rt');
a = textscan(fid, '%s', 'HeaderLines',1,'Delimiter',',');
fclose(fid);
celldisp(a)
Run Code Online (Sandbox Code Playgroud)

Sha*_*hai 8

有几种方法:

  1. 使用cvsread:
    假设N文件1中有行:

    a = csvread( FILENAME, 0, 1, [0 1 N-1 1 ] );
    
    Run Code Online (Sandbox Code Playgroud)
  2. 你也可以考虑一下 xlsread

    a = xlsread( FILENAME, 'B:B' );  
    
    Run Code Online (Sandbox Code Playgroud)

    请参阅doc 上的具体示例xlsread.

  3. 另一种选择是 dlmread

    a = dlmread( FILENAME, ',', [0 1 N-1 1] );
    
    Run Code Online (Sandbox Code Playgroud)

1 - 在RAP Oldenhuis的回答中可以找到一种很好的(快速)方法来计算Matlab中文件中的行数.