readtable error in Matlab

27 次查看(过去 30 天)
Hi,
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');
  2 个评论
Rik
Rik 2023-3-1
Did you check the documentation in R2015b to confirm this parameter exists and has this name?
Jayden Yeo
Jayden Yeo 2023-3-1
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');

请先登录,再进行评论。

采纳的回答

Rik
Rik 2023-3-1
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 个评论
Jeremy Hughes
Jeremy Hughes 2023-3-3
If I recall, the "Range" was added for text files in R2019a or 19b.

请先登录,再进行评论。

更多回答(1 个)

Pratheek
Pratheek 2023-3-1
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);

标签

产品


版本

R2015b

Community Treasure Hunt

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

Start Hunting!

Translated by