How to import data with column headings?

41 views (last 30 days)
Hello all, attached is a sample of my data. I would like to import the data as a matrix, when I do so, I lose column headings. Importing data as a table will work (see attached), however, I don't want my data to be in table form. I want my data in a matrix with top row as column headings as it is in csv sheet. Any thought would be appreciated. I tried to convert the table into array (table2array) but I lose column heading again.

Accepted Answer

Image Analyst
Image Analyst on 24 Dec 2017
This works for me:
[~, ~, data] = xlsread('data.csv')
What happened when you tried it?
  2 Comments
Hydro
Hydro on 24 Dec 2017
Hello @Image Analyst.
your code gives me cell, which i dont want. i used cell2mat but didnt work as the data type is not same.
Image Analyst
Image Analyst on 24 Dec 2017
Like Walter says in his answer, that's not possible. You can either do a cell array, like I showed you, or use a table, like you've already done. I suggest you use a table. Tables are great and you'd do yourself a favor to get used to them.

Sign in to comment.

More Answers (1)

Walter Roberson
Walter Roberson on 24 Dec 2017
In MATLAB, it is not possible to have a header on a numeric matrix. If you want to preserve the headers, you have two options:
  1. import as a cell array with each entry being in a different cell; or
  2. import as a table and use the table VariableDescriptions property to store the headers (note: the variable descriptions only show up if you use summary() or ask for them specifically.)
  1 Comment
Hydro
Hydro on 24 Dec 2017
Hello Walter/Image Analyst, I agree. Actually, I am trying to construct a timetable, which I would use for further analysis. I don't use table often-so I am bit uncomfortable. I construct the timetable but importing data as vector and then adding vector one by one while constructing the time table. Since I have more column, thought there would be an easy way of doing this.
Walter! Part of the code is yours.
StartDate = datetime(2011,01,01);
EndDate = datetime(2011,12,31);
Date = (StartDate:calmonths(1):EndDate)';
Date.Format = 'MMM-yyyy';
TT=timetable(Date,RCP45_2030s_W0_Removed,RCP45_2030s_W25_Removed,RCP45_2030s_W50_Removed,RCP45_2030s_W75_Removed,RCP45_2030s_W100_Removed);

Sign in to comment.

Categories

Find more on Data Import and Analysis in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!