在matlab中读取CSV文件

时间:2013-04-14 19:44:38

标签: matlab csv

我有一个像这种格式的csv文件:

2.3 , 1.3 , 1.2 , 6.8 , classone
1.2 , 2.6 , 1.8 , 0.7 , classtwo

我想将文件读入seprate矩阵;一个矩阵中的前4个数值和另一个矩阵中的字符串值

我尝试过文本扫描功能,但效果不好

M= textread('training.dat','%f %f %f %f %s');

Error using dataread
Number of outputs must match the number of unskipped
input fields.

1 个答案:

答案 0 :(得分:0)

尝试

[num, str, ~] = xlsread('training.dat');

fid = fopen('training.dat');
D = textscan(                                ...
        fid,                   '%f%f%f%f%s', ...
        'Delimiter',           ' , ',        ...
        'MultipleDelimsAsOne', true          ...
);
fclose(fid);

numeric_stuff = horzcat(D{1:4});
string_stuff  = D{5};