我正在尝试在matlab中读取CSV文件。我只想阅读第二列,但下面的代码打印出CSV文件中的所有内容。我必须引入哪些参数或函数才能使它只读取第二列
FILENAME = 'C:\Users\Desktop\Results.csv';
fid = fopen(FILENAME, 'rt');
a = textscan(fid, '%s', 'HeaderLines',1,'Delimiter',',');
fclose(fid);
celldisp(a)
答案 0 :(得分:8)
有几种方法:
使用cvsread
:
假设文件 1 :
N
行
a = csvread( FILENAME, 0, 1, [0 1 N-1 1 ] );
您可能还会考虑xlsread
a = xlsread( FILENAME, 'B:B' );
请参阅xlsread
doc。
另一个选项是dlmread
a = dlmread( FILENAME, ',', [0 1 N-1 1] );
1 - 可以在this answer by Rody Oldenhuis中找到一种很好的(快速)方法来计算Matlab中文件的行数。