数据:
假设以下数据格式(第一行中有标题行,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
我是八音新手,无法理解错误的原因。请指导。
答案 0 :(得分:2)
除了上面提到的headerlines
问题,您有13个转换规范但只有12列,第9列应该对应一个%*s
,而不是两个。
如果我将格式字符串更改为
%d %d %d %*q %s %d %d %d %*s %f %*s %*s
解析一个小样本文件在Matlab中按预期工作。