将CSV文件加载到Octave / MATLAB中

时间:2013-06-29 11:12:03

标签: matlab csv machine-learning octave

数据

假设以下数据格式(第一行中有标题行,500多行):

数字,数字,数字,字符串,字符串,数字,数字,数字,字符串,数字,数字,数字

实施例: 1,0,3,"Braund, Mr. Owen Harris",male,22,1,0,A/5 21171,7.25,C85,S

我的代码:

忽略第4,9,11和12列(从1开始的索引)。

[A, B, C, D, E, F, G, H] = textread("train.csv","%d %d %d %*q %s %d %d %d %*s %*s %f %*s %*s","delimiter",",","endofline","\n","headerlines","1");

错误:

error: invalid conversion from string to real scalar
error: fskipl: invalid number of lines specified
error: called from:
error:   /usr/share/octave/3.6.4/m/io/textread.m at line 71, column 5

我是八音新手,无法理解错误的原因。请指导。

1 个答案:

答案 0 :(得分:2)

除了上面提到的headerlines问题,您有13个转换规范但只有12列,第9列应该对应一个%*s,而不是两个。 如果我将格式字符串更改为

%d %d %d %*q %s %d %d %d %*s %f %*s %*s

解析一个小样本文件在Matlab中按预期工作。