How to Convert a big cell char array With in Table form in Each Column in MATLAB
2 views (last 30 days)
Show older comments
Hello. I have import Data from website. I need to convert the Char array in Table with Values in Each Column
For Example In the following data I have 2x8 cell. The first Cell Predicted Class is the Column name and Cat is the Value.
The second Cell in first will be Column name Maximum, Minimum and Mean Value corresponding to there Values.
The Third Cell in first Row Predicted Class is the Column name and Fighter is the Value. The fourth Cell Fighter Levels, Fighter Values, Maximum, Minimum and Mean Value
The first row is C1 is the first Class and the 2nd row is C2 is the Second Class so it should be in loop to save the data for multiple classes.
Can anybody help me with that.
as shown in the following picture
Answers (1)
Dr. JANAK TRIVEDI
on 3 Feb 2023
Edited: Walter Roberson
on 3 Feb 2023
You can use the split and str2double functions in MATLAB to split the data and convert the values to a table. Here's an example:
data = {'Predicted Class','Cat','Maximum','Minimum','Mean Value',...
'Predicted Class','Fighter','Levels','Values','Maximum','Minimum','Mean Value'};
% Split the data by the delimiter ','
splittedData = split(data,',');
% Get the number of rows and columns from the splitted data
[rows,cols] = size(splittedData);
% Initialize a cell array to store the table data
tableData = cell(rows/2, cols/2);
% Loop through the splitted data and store the values in the tableData cell array
for i = 1:2:rows
for j = 1:2:cols
tableData{(i+1)/2, (j+1)/2} = splittedData{i,j};
end
end
% Convert the values in the tableData cell array to a table
table = cell2table(tableData);
% Convert the values in the table to numeric if possible
table.Variables = str2double(table{:,:});
See Also
Categories
Find more on Logical in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!