6

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

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

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

1 回答 1

8

有几种方法:

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

    a = csvread( FILENAME, 0, 1, [0 1 N-1 1 ] );
    
  2. 你也可以考虑xlsread

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

    请参阅文档上的具体示例。xlsread

  3. 另一种选择是dlmread

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

1 - Rody Oldenhuis在这个答案中可以找到一种在 Matlab 中计算文件中行数的好方法(且快速)。

于 2013-07-03T06:05:51.313 回答