Export Structure to csv file

Hi everyone,
I'm trying to export my data which is saved in a structure to a csv file. The structure is two dimensional but contains vectors in some cells. So far I tried to convert it in a table and save it using writetable, but the vectors were not recorded correctly.
Thanks for any advice,
Kathrin

2 comentarios

Turlough Hughes
Turlough Hughes el 29 de Sept. de 2020
Can you attach the structure to the question?
Kathrin Sadus
Kathrin Sadus el 29 de Sept. de 2020
Sure! It looks like this one here.

Iniciar sesión para comentar.

 Respuesta aceptada

Ameer Hamza
Ameer Hamza el 30 de Sept. de 2020

1 voto

MATLAB just introduced writestruct(): https://www.mathworks.com/help/matlab/ref/writestruct.html in R2020b. If you have R2020b, you can directly write the struct in a text file.

Más respuestas (2)

Sudhakar Shinde
Sudhakar Shinde el 29 de Sept. de 2020

1 voto

You can try this:
load Structure_Example.mat
writetable(struct2table(PracTrials), 'Structure_Example.csv')
The output csv file snal looks as below:

5 comentarios

Kathrin Sadus
Kathrin Sadus el 29 de Sept. de 2020
Thanks, that was exactly what I was trying, but as soon as I'm using a different structure it seems to fail to convert the table into a csv file. I attached the strcuture and the resulting file.
Again, thanks for helping!
Hellon Kathrin,
The multidimentional data available in structure as highlighted.
Creating a table from struct is working perfectly. This multidimentional data is now available in cell array in table.
struct2table(PracTrials)
And reaon of improper data in csv file is:
For more info:
Sudhakar Shinde
Sudhakar Shinde el 29 de Sept. de 2020
Editada: Sudhakar Shinde el 29 de Sept. de 2020
You could convert structure into cell array and then write cell into csv. It writes cell data perfectly in csv file.
Converting into cell array, will miss the headers. so you need to work on headers to get perfectly in csv file.
table1=struct2cell(PracTrials);
writecell( table1, 'PracTrials3.csv')
%%Alternatively try for
S=struct2table(PracTrials);
table=table2cell(S);
writecell( table, 'PracTrials2.csv')
Kathrin Sadus
Kathrin Sadus el 21 de Oct. de 2020
Thank you very much for your help!
Aneesha
Aneesha el 3 de Dic. de 2021
can you show the format of PracTrails

Iniciar sesión para comentar.

Mohammad
Mohammad el 2 de Mzo. de 2022

0 votos

Hi,
I tried to used the same method to convert my struct mat file (attached) but failed. Any help is appreciated.

Productos

Etiquetas

Preguntada:

el 29 de Sept. de 2020

Respondida:

el 2 de Mzo. de 2022

Community Treasure Hunt

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

Start Hunting!

Translated by