Index exceeds the number of array elements

1 次查看(过去 30 天)
Hello all,
I know there are several similar questions, but i didn't find a answer for my problem.
I am trying to load data from a .csv file with the simple csvread function.
The csv.file (see attachment) should contain 222.490 values.
Pos_x = csvread('C:\Users\Niels\Google Drive\position.csv',11,1);
However, i am getting the following error: 'Index exceeds the number of array elements (0).'
Creating a matrix of size 300.000x1 in matlab itself is no problem so i am not sure what the problem is, any suggestions?
Thanks in advance!

采纳的回答

Ameer Hamza
Ameer Hamza 2020-3-28
编辑:Ameer Hamza 2020-3-28
Just giving the extension of .csv to a file does not automatically make it a csv file. Your file contains several alphabetic characters before the numeric values start. The following code will read the data as a text file and parse it to extract numeric values
f = fopen('position.csv');
data = textscan(f, '%s', 'HeaderLines', 11);
fclose(f);
str = [data{1}{:}];
idx = strfind(str, ':'); % finding the location of the last colon
values = sscanf(str(idx(end)+1:end), ',%f');

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Data Type Identification 的更多信息

产品


版本

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by