首页 > 解决方案 > 从excel文件创建变量

问题描述

我有一个 excel 文件,其中包含我想成为第 1 列中的变量和第 2 列中的值的内容:

Plot.Shift            20
Plot.MarkerSize       6
Plot.MarkerColor      black
Plot.MarkerFaceColor  black
Plot.FontSize         22

我读了文件

s=readcell('PlotOptions.xlsx','Sheet','PlotOptions');

我想在 MATLAB 代码中绘制新变量,例如:

>> Plot.Shift % Set it to 20
>> Plot.MarkerSize % Set to 6

标签: matlab

解决方案


使用cell2struct

s=readcell('PlotOptions.xlsx','Sheet','PlotOptions');
field_names=regexp(s(:,1),'(?<=\.)[A-Za-z]+$','match','once');
Plot = cell2struct(s,field_names);
Plot(1) = [];

Plot是具有所需字段的结构:

>> Plot.Shift
20

>> Plot.MarkerFaceSize
6

...

推荐阅读