Table function with cells
6 ビュー (過去 30 日間)
古いコメントを表示
Hi,
I have a cell variable (166*1 cell) organized like this :
data_table =
1*4 cell
1*4 cell
1*4 cell
...
Each 1*4 cell is organized like this :
data_table{1,1} =
'A' '[1 25]' 'double' ""
data_table{2,1} =
'AF' '[1 1]' 'double' 1
...
When I use the command t = table(data_table{:,:}) (to export to an Excel file), all datas are reorganised in an unique row array :
'A' '[1 25]' 'double' "" 'AF' '[1 1]' 'double' 1....
How to keep the same arrangement as in the intial data_table array?
Thank you.
2 件のコメント
Stephen23
2023 年 4 月 27 日
編集済み: Stephen23
2023 年 4 月 27 日
Rather than storing lots of 1x4 cell arrays inside a 166x1 cell array, your data should probably be stored as one single 166x4 cell array. That would also make your task much easier. Lets try using some fake data:
data_table = cell(3,1);
data_table{1} = {'A', '[1 25]', 'double', ""};
data_table{2} = {'AF', '[1 1]', 'double', 1};
data_table{3} = {'B', '[0 0]', 'double', "Hi"};
Which probably shold be stored like this (or in a table):
C = vertcat(data_table{:})
Which in turn makes saving the data easier:
writecell(C,'myfile.xlsx')
Do not use a loop to create lots of separate tables.
採用された回答
Sufiyan
2023 年 4 月 27 日
Hi,
You can refer to the below code.
%sample data
data_table = cell(3,1);
data_table{1} = {'A', '[1 25]', 'double', ""};
data_table{2} = {'AF', '[1 1]', 'double', 1};
data_table{3} = {'B', '[0 0]', 'double', "Hi"};
% Convert each cell to a separate table
tables = cell(size(data_table));
for i = 1:numel(data_table)
tables{i} = cell2table(data_table{i});
end
% Concatenate tables
t = vertcat(tables{:});
disp(t);
%writetable(t, 'filename.xlsx');
Hope this helps!
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Logical についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!