Matlab拆分表格中一列数据为两列

img


matlab中.mat文件中将Name列以第6个字符为界,分成两列

创建空列向量就可以

data = load('file.mat');
nameData = data.Name;
col1 = strings(size(nameData));
col2 = strings(size(nameData));

for i = 1:length(nameData)
    name = nameData(i);
    if length(name) >= 6
        col1(i) = name(1:5);
        col2(i) = name(6:end);
    else
        col1(i) = name;
    end
end
save('split.mat', 'col1', 'col2');


我可以解决这个问题。

首先,我将展示如何读取.mat文件中的表格数据。然后,我将演示如何拆分"Name"列并创建两列。最后,我将展示如何将修改后的表格保存为.mat文件。

% 读取.mat文件中的表格数据
load('file.mat'); % 请将'file.mat'替换为你的.mat文件路径

% 拆分"Name"列为两列
names = table2cell(dataTable.Name); % 将"Name"列转换为一个cell数组
names1 = cellfun(@(x) x(1:5), names, 'UniformOutput', false); % 取前5个字符作为第一列
names2 = cellfun(@(x) x(6:end), names, 'UniformOutput', false); % 取第6个字符及之后的字符作为第二列

% 创建两列新列
dataTable.NewCol1 = names1; % 创建第一列
dataTable.NewCol2 = names2; % 创建第二列

% 保存修改后的表格为.mat文件
save('newfile.mat', 'dataTable'); % 将'newfile.mat'替换为你想要保存的文件路径和文件名

请注意,你需要将文件路径和文件名替换为你自己的路径和文件名,以及将dataTable替换为你从.mat文件中加载的表格变量名。