Splitting Cells Within A Cell Array

21 次查看(过去 30 天)
Hello I am new to matlab and coding. I have a 225x1 cell array within matlab that contains a 1x2 cell within each cell. The players name and their coresponding toughdown stat are displayed within each 1x2 cell. I would like to convert the cell array so that it displays the name and number in two seperate columns. Any help is appreciated, thank you.
Here is the table I want to seperate:
Here is the function I used to loop through multiple excel files to gather the data:
function [DataArr] = CumulativeTDs(DataArr)
num_files = length(DataArr);
player_td = {};
for file = 1:num_files
table = readtable(DataArr{file});
rows = height(table);
for row = 1:rows
player = string(table2array(table(row,1)));
td = string(table2array(table(row,12)));
num_players = length(player_td);
check = false;
for i = 1:num_players
if string(player_td{i}{1}) == player
player_td{i}{2} = player_td{i}{2} + str2double(td);
check = true;
end
end
if num_players == 0
player_td{1} = {player{1}, str2double(td)};
elseif check == false
player_td{i+1} = {player{1}, str2double(td)};
end
end
end
[DataArr] = player_td;
end

采纳的回答

Voss
Voss 2022-4-24
% some made-up data in the same format as yours:
C = { {'Droo Breeze',157}; {'Thom Braadie',751}; {'Jo Mountaine',999}; {'Jon El-Weigh',666} }
C = 4×1 cell array
{1×2 cell} {1×2 cell} {1×2 cell} {1×2 cell}
% do the format conversion:
C = vertcat(C{:})
C = 4×2 cell array
{'Droo Breeze' } {[157]} {'Thom Braadie'} {[751]} {'Jo Mountaine'} {[999]} {'Jon El-Weigh'} {[666]}
It's likely that you can modify the code that reads the files, in order to get the result into this format in the first place and not need to do this conversion.
  2 个评论
Kyle Senczyszyn
Kyle Senczyszyn 2022-4-24
Thank you! I am sure there is a better way to do it but this will work for my needs.

请先登录,再进行评论。

更多回答(1 个)

Matt J
Matt J 2022-4-24
编辑:Matt J 2022-4-24
player=cellfun(@(c) c{1},C,'uni',0);
stats=cellfun(@(c) c{2},C,'uni',0);
T=table(string(player(:)),stats(:),'Var','Player','Stat')

类别

Help CenterFile Exchange 中查找有关 Matrices and Arrays 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by