How can I convert a string matrix into a table?

241 views (last 30 days)
I have a MxN matrix made of strings and I would like to convert it into a table because I need to have a timetable object in the end. My variable is a 720x2 strings, the first column contains the timestamp and the second contains a integer value.
This is an example of a row:
19/12/2017 00:00:00 116
I have tried using array2table and cell2table but I was not able to succeed.
I created a workaround, which is to write a file and then read it with readtable, but this way is definitely not immediate.
Thanks in advance, Edoardo

Answers (2)

Julia Antoniou
Julia Antoniou on 26 Jan 2018
Hi Edoardo,
I believe you could accomplish the output you are describing with the following commands (with "matrix" being your matrix of strings):
>> Dates = matrix(:,1);
>> Data = matrix(:,2);
>> T = table(Dates,Data)

Edoardo Giusto
Edoardo Giusto on 29 Jan 2018
Hi Julia, thanks for your help. I am doing:
Dates = matrix(:,1 );
Data = matrix(:,2 );
T = table(datetime(Dates),Data);
TT = table2timetable(T);
But in the Data column in my timetable values are stored as strings, so with quotes, such as: "116" for instance. In this way I cannot perform some operations (such as averaging).
I am missing some trivial thing I cannot understand at the moment.

Categories

Find more on Tables 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!