xlsread with sheet selection and xlRange

I am using xlsread as such:
subset = xlsread(filename, sheet, xlRange)
In particular:
filename = 'nameF';
sheet = 'sheet1';
xlRange = 'A1'; % I use one column to cover or using sheet and xlRange together
subsetA = xlsread(filename, sheet, xlRange)
I get this:
subsetA =
[]
Same result when I use xlRange = 'A1:B1'
The purpose is to select particular columns from that sheetX of WorkbookY. Any recommendation?
Thank you
Eleftheria

 Respuesta aceptada

OCDER
OCDER el 15 de Sept. de 2017
Editada: OCDER el 15 de Sept. de 2017
Looks like your excel file has nothing but string data, hence the 1st output of xlsread will give you empty (no numeric data to show). Here's more info on xlsread .
Try the following, and use the data you need:
[NumData, TextData, AllData] = xlsread(filename, sheet, xlRange)
Also, A1:B1 will only select the 1st row of A to B. Use xlRange = 'A:B' to select the A and B columns instead.

3 comentarios

Eleftheria Pissadaki
Eleftheria Pissadaki el 15 de Sept. de 2017
Thank you Donald, there was a string starting my file that I was unaware.
Is it possible xlRange be a vector, e.g. xlRange = [1 2 4 20 30]?
Thank you again
OCDER
OCDER el 15 de Sept. de 2017
Editada: OCDER el 15 de Sept. de 2017
I don't think you can do this, although it'd be a nice feature. Based on the document, xlRange must specify a "Rectangular range, specified as a character vector or a string."
So a workaround would be to load everything, and then select what you want.
[~, ~, AllData] = xlsread(filename, sheet);
AllData = AllData(:, xlRange);
Eleftheria Pissadaki
Eleftheria Pissadaki el 15 de Sept. de 2017
Good idea and it works. Thank you Eleftheria

Iniciar sesión para comentar.

Más respuestas (1)

Riffat Mughal
Riffat Mughal el 31 de Dic. de 2021

0 votos

Hi,
I wanted to import data using xlsread command from each sheet (There are 750 sheets). In range I wanted to import data from selected columns let's suppose from E to M. In each sheet number of rows are different.
Can you please assist me how I can import data from each row using xlsread command.

4 comentarios

Walter Roberson
Walter Roberson el 31 de Dic. de 2021
Is there a reason you have not switched to readtable() or readmatrix()?
Riffat Mughal
Riffat Mughal el 31 de Dic. de 2021
Yes, because I'm working on Treasury bonds for which dates are important. Extracting data using readtable command is creating problem with the date variables.
Walter Roberson
Walter Roberson el 31 de Dic. de 2021
Which MATLAB release are you using? readtable does a pretty good job on dates as datetime objects. Sometimes you need to setvaropts to set input format though. Can you attach about 3 rows from one of the tables for testing?
Riffat Mughal
Riffat Mughal el 31 de Dic. de 2021
Please find attached the requested file.

Iniciar sesión para comentar.

Etiquetas

Preguntada:

el 15 de Sept. de 2017

Comentada:

el 31 de Dic. de 2021

Community Treasure Hunt

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

Start Hunting!

Translated by