Extract range from table

2 vues (au cours des 30 derniers jours)
Anna
Anna le 12 Jan 2021
Commenté : Anna le 15 Jan 2021
Hello,
I imported an existing excel sheet and now want to make a new variable which holds only certain columns of that sheet that I need (in my case participant IDs, randomisation conditions, etc., i.e. row 1, row 49, etc.). I have specified the ranges as variables (see below) but where do I put the range into the code?
% set path to where the session 1 protocol spreadsheet is
% datapath, filename, and sheet are already defined in my code
% import data (spreadsheet with subject overview)
% tildes are used for placeholder arguments
[~,~,Raw]=xlsread(fullfile(datapath,filename),sheet);
% make a table from the Raw cells
% datafile = cell2table(Raw)
Raw = cell2table(Raw);
% we only need certain columns: A=subject ID, AW=randomisation,..., so define needed columns and general range
% e.g. variable = data(line_from:line_to,column)
Subject_ID = Raw(2:end,1);
TT_randomisation = Raw(2:end,49);
Snack_weights = Raw(2:end,59:76);
Height = Raw(2:end,28)
Weight = Raw(2:end,27)
range = [Subject_ID,Height,Weight,TT_randomisation,Snack_weights];
Thank you!
  7 commentaires
Anna
Anna le 15 Jan 2021
So, readtable seems to be the better option. I imported the spreadsheet, choosing one specific sheet:
T=readtable(fullfile(datapath,filename), 'Sheet', 'sheet_name')
I want to add a range with the 'Range' name-value pair, but the problem is that I only need specific columns (e.g. column 1, 5, 10-15) but I can only specify one range with this name-value pair. One site suggests to use SpreadsheetImportOptions instead but I don't understand either how to tell it to make a table with only the specific columns I need.
Anna
Anna le 15 Jan 2021
Ok I got it

Connectez-vous pour commenter.

Réponses (0)

Catégories

En savoir plus sur Data Import from MATLAB dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by