error using readtable : Array indices must be positive integers or logical values.

2 views (last 30 days)
Hi,
I have a simple tab-delimited file text which looks like :
Month H_Gh H_Dh H_Bn Ta
Jan 33 17 55 0.5
Feb 52 29 60 1.4
Mar 97 51 97 5.6
Apr 123 60 113 9.7
I want to create a table with readtable(filename) Matlab function. So I have tried this directly into console
T = readtable('data.txt', 'Delimiter', '\t')
Error using readtable (line 197)
Array indices must be positive integers or logical values.
Note: readtable detected the following parameters:
'HeaderLines', , 'ReadVariableNames', true, 'Format', ''
I have tried with others text files. If all rows in the file are the same types, readtable works well, but if a line contains string and numbers (like my file), this error pop. Anyone have an solution to propose ?
I'm on windows7 with R2018a.
  2 Comments
Stephen23
Stephen23 on 4 Aug 2022
It works on this forum using your sample file:
T = readtable('simpleData.txt', 'Delimiter', '\t')
T = 12×5 table
Month H_Gh H_Dh H_Bn Ta _______ ____ ____ ____ ____ {'Jan'} 33 17 55 0.5 {'Feb'} 52 29 60 1.4 {'Mar'} 97 51 97 5.6 {'Apr'} 123 60 113 9.7 {'May'} 161 91 115 13.7 {'Jun'} 178 79 160 18 {'Jul'} 176 76 165 19.3 {'Aug'} 153 67 148 18.7 {'Sep'} 105 52 102 14.5 {'Oct'} 63 42 51 10.2 {'Nov'} 33 18 49 4.9 {'Dec'} 24 16 32 1.2
Arthur
Arthur on 5 Aug 2022
Indeed, that works on this forum by running with matlab licence R2022a, but i'm developing with R2018a.When I run it on command window the error mentioned above pops.

Sign in to comment.

Answers (1)

Mathias Smeets
Mathias Smeets on 4 Aug 2022
This seems to work:
opts = detectImportOptions('simpleData.txt');
tbl = readtable('simpleData.txt',opts);
I hope this is what you are asking :)
  7 Comments
Mathias Smeets
Mathias Smeets on 5 Aug 2022
Very strange, I looked it up online and it seems like some people, as you can see here, solved some similar problems by reinstalling. But my suggestion would be to wait a bit until other people answer.
Sorry I can not help you further.

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!