如何从Excel加载变量到Matlab工作区?

29次浏览(过去30天)
清晰的
关闭
clc
aa =" a1 "
bb =“a2”
cc =“a3”
dd =“a4”
ee =“a5”
ff =“a6”
gg =“a7”
hh =“a8”
2 =“a9”
jj =“a10”
kk =“a11”
我=“a12”
毫米=“首次购物”
nn =“阿”
oo =“它”
页=“换”
qq =“第a17”
rr =“那么”
党卫军=“a19”
tt =“样子”
uu =“a21”
vv =“a22”
ww =“a23”
xx =“a24”
yy =“25”
zz =“a26”
保存变量将工作空间保存到variables.mat
数据=负载(“变量”);%加载回并赋值给struct变量
F = fieldnames(数据);包含变量名的% cell
Nf = numel(f);变量百分比
Sz = 0 (nf,1);数组保存变量的维数
这里每个变量都有不同的维度
J = 1:nf
Dataj = data.(f{j});%负载在变量j
将字符数组转换为字符串
如果ischar (dataj)
dataj = convertCharsToStrings(dataj);
Data .(f{j}) = dataj;
结束
Sz (j) =数字(dataj);变量j的%大小
结束
MXSZ = max(sz);最大可变尺寸
C = cell(mxsz+1,nf);%单元格数组来保存数据
C (1,:) = f';%列标题
J = 1:nf
Dataj = data.(f{j})(:);%变量j(必要时转换为列向量)
C (2:sz(j)+1,j) = num2cell(dataj);%分配给单元格数组
结束
T = cell2table(c(2:end,:)),“VariableNames”c (: 1));
writetable (T)“variables.xls”
上面的代码展示了如何将我的工作区变量(所有字符串)放入Excel。我怎么能倒回去呢?如果给我一个带有变量的Excel表格,我如何将它们加载到工作区中。我的第一次尝试是这样的
%清洁你的工作空间
清晰的
关闭
clc
%创建变量
aa =" a1 "
bb =“a2”
cc =“a3”
%定义为文件名
varsFile =“workspace.csv”
将变量转换为表
dataTable = table(aa, bb, cc);
将表写入各自的文件
writetable (dataTable, varsFile);
但我不喜欢这个方法,因为我必须调用每个变量,这是乏味的,如果我有很多变量。谢谢。
18岁的评论
Missael埃尔南德斯
Missael埃尔南德斯 2021年10月1日
编辑:Missael埃尔南德斯 2021年10月1日
是的,用户将没有MATLAB或访问Simulink链接。金宝app但我会的。我将负责更新模型。这就是为什么我在研究Excel与MATLAB的兼容性。
我选择Excel是因为我首先想到的就是它。一个正常的文本编辑器也会很好,因为任何人都可以访问。唯一的问题是,我已经写了代码从工作区到Excel。

登录评论。

答案(1)

马特·J
马特·J 2021年9月27日
编辑:马特·J 2021年9月27日
如果有许多数据列要加载,则不会将它们放在单独的工作空间变量中。您只需将它们读入一个表,并以这种方式持有/操作它们。
dataTable = readtable (varsFile);

社区寻宝

在MATLAB Central中找到宝藏,并发现社区如何帮助您!

开始狩猎!