# Splitting up data in a single cell to a multiple columns array

35 visualizaciones (últimos 30 días)
Ori Ossmy el 30 de En. de 2023
Comentada: Ori Ossmy el 30 de En. de 2023
Hi,
I have a table of data that is 3275x1. In each cell, there is a large amount of data in groups of threes, each seperated by semi-colons. The pattern of the data in each cell is 'X-coordinate, Y-coordinate, T-value; X-coordinate(2), Y-coordinate(2), T-value(2);' (and so on, many times). For instance, part of the data of a single cell looks like the following (Importantly, each cell starts and ends with an apostraphe ('):
'530,510,165713557972;530,511,16523281757976;631,512,1657123213423478;...etc.
So here, 530 is the first X-coordinate, 510 is the first Y-coordinate, and 1657[...] is the first T-value. Then after the semi-colon, comes the second X, Y and T values. This pattern is repeated many more times in each cell.
I'm currently trying to split up the data into three different arrays - one with X-values, one with Y-values, and one with T-values. I imagine you'd need some sort of for loop to split the data up like this, but I'm afraid I'm struggling to figure out how to do this.
I hope the question makes sense, and any help would be greatly appreciated!
Thanks a lot.
##### 4 comentariosMostrar 3 comentarios más antiguosOcultar 3 comentarios más antiguos
Ori Ossmy el 30 de En. de 2023
I've found a good way to sort the data as per Aritra's answer, but thanks so much for the helpful response.

Iniciar sesión para comentar.

Aritra el 30 de En. de 2023
Hi,
As per my understanding you are trying to split up the data of a single cell to a multiple columns array. Since the data is in string format it needs certain preprocessing.
To do so you can make use of the split function followed by the reshape function. The split(str,delimiter) function helps to split a string at delimiters. The reshape(A,sz) function helps to reshape an array to a desired size.
In the below example suppose the example variable needs to be divided into 2x3 matrix. To do so you can use the following code snippet:
example = '530,510,165713557972;530,511,16523281757976';
t = split(example ,{',',';'});
t = reshape(t,[3,2])';
##### 0 comentariosMostrar -1 comentarios más antiguosOcultar -1 comentarios más antiguos

Iniciar sesión para comentar.

### Categorías

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

### Community Treasure Hunt

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

Start Hunting!