Change table of structs into columns of data in a table

7 visualizaciones (últimos 30 días)
I have many tables which contain anywhere from 2000 - 7500 1x1 structs in one column. Each struct contains a value for x, y and z positions. I need to extract these 3 numbers from each struct and have them in their own columns (as just regular floats). The end result will be a table with a column for x values, a column for y values, and a column for z values.
I've attached an example file (.mat).
What is an efficient way to do this?

Respuesta aceptada

Mohammad Sami
Mohammad Sami el 8 de Sept. de 2020
Based on your example data this will work. All structs must have the exact same fields, otherwise this will fail
flattened = struct2table(vertcat(data{:,1}));
  1 comentario
Centauri Jolene
Centauri Jolene el 9 de Sept. de 2020
Thank you this worked perfectly. I just had to change it to
flattened = struct2table(vertcat(data.dog1_pos(:,1)));
since it wasnt a cell array. Cheers

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Structures en Help Center y File Exchange.

Productos


Versión

R2017b

Community Treasure Hunt

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

Start Hunting!

Translated by