How to import data with column headings?

40 次查看(过去 30 天)
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.

采纳的回答

Image Analyst
Image Analyst 2017-12-24
This works for me:
[~, ~, data] = xlsread('data.csv')
What happened when you tried it?
  2 个评论
Hydro
Hydro 2017-12-24
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 2017-12-24
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.

请先登录,再进行评论。

更多回答(1 个)

Walter Roberson
Walter Roberson 2017-12-24
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 个评论
Hydro
Hydro 2017-12-24
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);

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Data Import and Analysis 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by