简体   繁体   中英

Loading CSV file into Octave/MATLAB

DATA :

Assume the following data format (with a header line in the first row, 500+ rows):

Number, Number, Number, String, String, Number, Number, Number, String, Number, Number, Number

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

MY CODE:

Ignoring the columns 4, 9, 11 and 12(index starting from 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");

THE ERROR:

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

I am new to octave and unable to understand the cause of the error. Please guide.

Except for the issue with headerlines mentioned above, you have got 13 conversion specifications but only 12 columns, column 9 should correspond to one %*s , not two. If I change the format string to

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

parsing a small sample file works as expected in Matlab.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM