1. 基本语法
1.1 writetable
writetable(T,filename,'WriteVariableNames',false,'sheet',1,'Range','A1[:C5]')
解释:参考1
- T:table类型的表格数据。table 是一种适用于以下数据的数据类型:即以列的形式存储在文本文件或电子表格中的列向数据或者表格数据。表由若干行向变量和若干列向变量组成。表格中的每个变量可以具有不同的数据类型和大小,但有一个限制条件是每个变量的行数必须相同2。
- WriteVariableNames:表示是否写入table的变量名,true 或者 false
- sheet:表示写入哪个数据表,1表示sheet1,也可以根据sheet的命名,例如’sheet1’
- Range:表示数据从哪里开始写,或者是写到哪个范围,例如 'A1’或者‘A1:C5’
1.2 table
T = table(var1,...,varN)
T = table(___,Name,Value)
解释:参考3
- T = table(var1,…,varN) 根据输入变量 var1,…,varN 创建表。变量的大小和数据类型可以不同,但所有变量的行数必须相同。如果输入是工作区变量,则 table 将输入名称指定为输出表中的变量名称。否则,table 将指定 ‘Var1’,…,‘VarN’ 形式的变量名称,其中 N 是变量的数量。输入变量,输入变量可以具有不同的大小和数据类型。
- T = table(___,Name,Value) 使用一个或多个名称-值对组参数指定其他输入参数。例如,您可以使用 ‘VariableNames’ 名称-值对组指定变量名称。您可以将此语法与前面语法中的任何输入参数结合使用。
1.3 修改表的属性
参考文档4
T.Properties.VariableUnits = ["","Yrs","In","Lbs","","mm Hg"]; % 修改表属性 VariableUnits 来为表中的每个变量指定单位。
T.Properties.VariableDescriptions("BloodPressure") = "Systolic/Diastolic"; % 变量 BloodPressure 添加变量说明
summary(T); % 使用 summary 汇总表来查看每个变量的数据类型、说明、单位和其他描述性统计量。
T.Properties.VariableNames("LastName") = "PatientName"; % 将第一个变量的变量名称从 LastName 更改为 PatientName。
2. 实际应用
2.1 将矩阵写入表格
假设filename为.xlsx数据表
x = ones(5,24); % 创建5*24的单位数组变量x
writematrix(x,filename,'sheet',1,'Range','A2'); %将矩阵吸入表格
2.2 将table写入表格
- 不使用变量名
x_col = zeros(5, 1); % 与x同一行数,例如数据归属的各个名称
t = table(x_col, x); % 创建表
writetable(t,filename,'WriteVariableNames',false,'sheet',1,'Range','A2');
- 使用变量名
t.Properties.VariableNames("x_col") = "x_column"; % 改变某个变量名
t.Properties.VariableNames("x") = "TimeSection"; % 改变
writetable(t,filename,'WriteVariableNames',true,'sheet',1,'Range','A1');
运行情况:
虽然第二个变量只有一个变量名,但是有24列,自动命名为TimeSection_1 至 TimeSection_24
- 如果单个数组变量各个数据为不同的解释呢?(暂时想到可以写入后,重新用元胞写一下命名)
vn = {"name1","name2","name3"};
writecell(vn,filename,'sheet',1,'range','B1'); %写入元胞数组
运行情况:
3. 总结
以上涵盖了三种往表格中写入数据的方法,writematrix写数组,writetable写表,writecell写元胞。后续有新的应用,再持续更新,欢迎提更好的建议,谢谢观看。