readtable error in Matlab

2 views (last 30 days)
Jayden Yeo
Jayden Yeo on 1 Mar 2023
Commented: Jeremy Hughes on 3 Mar 2023
I am reading a table from a csv file using the readtable command, and specifying specic range. However when I run the line, the following error appears. "Error using readtable. Invalid parameter name: Range". Anybody know what is wring? I am running the code on R2015b version of Matlab.
data = readtable('data.csv','Range','A1:C10');
Jayden Yeo
Jayden Yeo on 1 Mar 2023
Yes, it was introduced in R2013b. Also I can run it in R2022b. Just wondering why it cannot run in R2015b?
data = readtable('data.csv','Range','A1:C10');

Sign in to comment.

Accepted Answer

Rik on 1 Mar 2023
The option you are trying to use only works for spreadsheet files. A csv file is just a text file and does not actually describe ranges. You will have to read the entire file and limit the result in your own Matlab code:
data = readtable('data.csv');
data = data(1:10,1:3);
Apparently R2022b is less strict about this limitation.
  1 Comment
Jeremy Hughes
Jeremy Hughes on 3 Mar 2023
If I recall, the "Range" was added for text files in R2019a or 19b.

Sign in to comment.

More Answers (1)

Pratheek on 1 Mar 2023
Hi Jayden Yeo,
You are facing this issue since, in R2015b version of MATLAB, comma-delimited text files(.txt, .dat, .csv) allow only limited parameters.
They are - ReadVariableNames, ReadRowNames, TreatAsEmpty, HeaderLines, Format, DateLocale, FileEncoding.
For Spreadsheet files(.xls, .xlsx, .xlsb, .xlsm, .xltm, .xltx, .ods) we can use these parameters- ReadVariableNames, ReadRowNames, TreatAsEmpty, Sheet, Range, Basic.
As you are working with a .csv file you can't use Range parameter
A workaround for you issue can be
T = readtable('myfile.csv');
T_range = T(startRow:endRow, startCol:endCol);
  1 Comment
Jayden Yeo
Jayden Yeo on 2 Mar 2023
Thanks. Your method works too.

Sign in to comment.





Community Treasure Hunt

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

Start Hunting!

Translated by