readtable error in Matlab

16 次查看(过去 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);

类别

Help CenterFile Exchange 中查找有关 Large Files and Big Data 的更多信息

标签

产品


版本

R2015b

Community Treasure Hunt

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

Start Hunting!

Translated by