readtable error in Matlab
26 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Jayden Yeo
el 1 de Mzo. de 2023
Comentada: Jeremy Hughes
el 3 de Mzo. de 2023
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 comentarios
Rik
el 1 de Mzo. de 2023
Did you check the documentation in R2015b to confirm this parameter exists and has this name?
Respuesta aceptada
Rik
el 1 de Mzo. de 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 comentario
Jeremy Hughes
el 3 de Mzo. de 2023
If I recall, the "Range" was added for text files in R2019a or 19b.
Más respuestas (1)
Pratheek
el 1 de Mzo. de 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);
Ver también
Categorías
Más información sobre Spreadsheets en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!