MATLAB学习笔记-table

1.在table中叠加table

  1. table 的每一列具有固定的数据类型 。如果要让表的所有单元格都可以任意填充,就得让每一列都是 cell 类型,这样表中每个单元格都是"一个元胞"。
  2. 创建时可以先构造一个 空 cell 数组 (大小为行数×列数),再用 cell2table 转成 table。
  3. 填充值时,用大括号 {} 为"元胞内容"赋值,例如 data2{row,col} = {某数据}

这样就可以在一开始就得到一个"所有位置都能任意放东西(因为都是元胞)"的 table 了。

生成一个3行5列的table,命名为data2,行命名为rowNames,列命名为varNames,

Matlab 复制代码
varNames = {'block1','block2','block3','block4','block5'};
rowNames = {'a1','a2','a3'};
% 3) 用 cell2table 将这个空元胞数组转为 table
data1 = cell2table(cell(size(rowNames,2), size(varNames,2)),...
'RowNames', rowNames,...
 'VariableNames', varNames);

data2 = cell2table(cell(size(rowNames,2), size(varNames,2)),...
'RowNames', rowNames,...
 'VariableNames', varNames);

此时,data2 中的每个单元格都是"空元胞"(即 {[]}),你可以随时往其中塞任意内容。

Matlab 复制代码
data2.block1{'a1'} = data1;

% 还可以写为
data2{'a1','block1'} = data1;

注意,这里的 data2{r,c} = { ... } 里多了一层花括号,是因为我们要给"cell 列"中的某一个元胞赋值,而元胞的内容本身可以是表、数值、字符串、元胞等任意类型。

2.在叠加的table中读取其中的一个table为table

Matlab 复制代码
data3 = data2.block1{'a1'};

% 或者写为
data3 = data2{'a1','block1'}{1};

3.table转换为double

table2array(your_table)

4.将table保存到excel中

指定保存文件名和路径

  • 如果想将文件保存到指定路径,可以在第二个参数里写完整路径:
Matlab 复制代码
writetable(yourTable, "C:\Users\YourName\Documents\myData.xlsx");

% 例
writetable(data_uninf_end, 'data_uninf_end.xlsx');

指定工作表与起始单元格

  • 通过参数 Sheet 可以指定要保存到哪个工作表;
  • 通过参数 Range 可以指定写入的起始单元格。
  • 例如:
Matlab 复制代码
% 将 yourTable 写入到 Excel 文件的名为 "Results" 的工作表上
% 并从单元格 "B2" 开始写入
writetable(yourTable, "myData.xlsx", ...
           "Sheet", "Results", ...
           "Range", "B2");

保存时包含变量名或行名

  • 默认情况下,writetable 会将 table 的 VariableNames 写入 Excel 表格的第一行。
  • 如果 table 有 RowNames(即行名),也可以写入,方式是:
Matlab 复制代码
writetable(yourTable, "myData.xlsx", "WriteRowNames", true);

追加到已有的 Excel 文件

  • 如果 Excel 文件已存在,writetable 不会覆盖整个文件,而是更新对应工作表。
  • 如果你想要在同一个 Excel 文件的不同工作表写多个表,可以在多次调用 writetable 时分别设置不同的 Sheet 名字。
相关推荐
_dindong24 分钟前
笔试强训:Week-4
数据结构·c++·笔记·学习·算法·哈希算法·散列表
BeingACoder39 分钟前
【SAA】SpringAI Alibaba学习笔记(二):提示词Prompt
java·人工智能·spring boot·笔记·prompt·saa·springai
Acrelhuang1 小时前
覆盖全场景需求:Acrel-1000 变电站综合自动化系统的技术亮点与应用
大数据·网络·人工智能·笔记·物联网
DKPT1 小时前
如何设置JVM参数避开直接内存溢出的坑?
java·开发语言·jvm·笔记·学习
一 乐1 小时前
智慧党建|党务学习|基于SprinBoot+vue的智慧党建学习平台(源码+数据库+文档)
java·前端·数据库·vue.js·spring boot·学习
海边夕阳20061 小时前
MVCC核心原理解密:从隐藏字段到版本链的完整解析
经验分享·学习·数据库架构·mvcc
woodykissme2 小时前
日内瓦传动装置?不就是我们叫的间歇结构吗?
学习·机械
许长安2 小时前
C/C++中的extern关键字详解
c语言·开发语言·c++·经验分享·笔记
li星野2 小时前
打工人日报#20251107
笔记
YJlio2 小时前
PsSuspend(7.23):无损挂起与恢复指定进程——精准“冻住”故障现场
笔记·学习·安全