MATLAB使用技巧:使用writetable/writematrix/writecell将数据导入.xlsx表格

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写元胞。后续有新的应用,再持续更新,欢迎提更好的建议,谢谢观看。

参考文献


  1. https://ww2.mathworks.cn/help/matlab/ref/writetable.html ↩︎

  2. https://ww2.mathworks.cn/help/matlab/tables.html ↩︎

  3. https://ww2.mathworks.cn/help/matlab/ref/table.html ↩︎

  4. https://ww2.mathworks.cn/help/matlab/matlab_prog/modify-units-descriptions-and-table-variable-names.html ↩︎

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿J量化

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值