matlab与excel的交互
将数据写入 Excel 电子表格
将表格数据写入到电子表格文件
T = table(LastName,Age,Weight,Smoker);
T(1:5,:)
ans=5×4 table LastName Age Weight Smoker ____________ ___ ______ ______
{'Smith' } 38 176 true
{'Johnson' } 43 163 false
{'Williams'} 38 131 false
{'Jones' } 40 133 false
{'Brown' } 49 119 false
将表 T
写入到名为 patientdata.xlsx
新电子表格文件中的第一张工作表,并从单元格 D1
处开始。要指定您想要写入到的工作表部分,请使用 Range
名称-值对组参数。默认情况下,writetable
将表变量名称写入为电子表格文件中的列标题。
filename = ‘patientdata.xlsx’; writetable(T,filename,‘Sheet’,1,‘Range’,‘D1’)
将不带变量名称的表 T
写入名为 ‘MyNewSheet’
的新工作表。要写入不带变量名称的数据,请将名称-值对组 WriteVariableNames
指定为 false
。
writetable(T,filename,‘Sheet’,‘MyNewSheet’,‘WriteVariableNames’,false);
将数值和文本数据写入到电子表格文件
要将数值数组和元胞数组导出到 Microsoft® Excel® 电子表格文件,请使用 writematrix
或 writecell
函数。您可以将单个数值工作区变量和文本工作区变量中的数据导出到文件中的任何工作表,以及导出到工作表中的任何位置。默认情况下,导入函数将矩阵数据写入到文件中的第一张工作表,并从单元格 A1
处开始。
例如,创建一个由数值数据组成的样本数组 A
,以及一个由文本和数值数据组成的样本元胞数组 C
。
A = magic(5) C = {‘Time’, ‘Temp’; 12 98; 13 ‘x’; 14 97}
A =
17 24 1 8 15
23 5 7 14 164 6 13 20 22
10 12 19 21 3
11 18 25 2 9
C =
'Time' 'Temp'
[ 12] [ 98]
[ 13] 'x'
[ 14] [ 97]</pre></div></div></div><p>将数组 <code class="literal">A</code> 写入名为 <code class="literal">testdata.xlsx</code> 的新电子表格文件中第一张工作表上的 5×5 矩形区域 <code class="literal">E1:I5</code>。</p><div class="code_responsive"><div class="programlisting"><div class="codeinput"><pre>filename = <span style="color:#A020F0">'testdata.xlsx'</span>;
writematrix(A,filename,‘Sheet’,1,‘Range’,‘E1:I5’)
将元胞数组 C
写入到名为 Temperatures
的工作表上的一个矩形区域(从单元格 B2
处开始)。可以仅使用第一个单元格指定范围。
writecell(C,filename,‘Sheet’,‘Temperatures’,‘Range’,‘B2’);
writecell
将会显示警告,因为工作表 Temperatures
之前不存在,但您可以禁用此警告。
添加新工作表时禁用警告
如果文件中不存在目标工作表,则 writetable
和 writecell
函数将会显示以下警告:
Warning: Added specified worksheet.
有关如何隐藏警告消息的信息,请参阅隐蔽警告。
对 Excel 文件中的单元格设置格式
要将数据写入到 Windows® 系统上具有自定义格式(例如字体或颜色)的 Excel 文件,请直接使用 actxserver
而不是 writetable
、writetimetable
、writematrix
或 writecell
访问 COM 服务器。例如,技术解决方案 1-QLD4K 使用 actxserver
在 MATLAB® 和 Excel 之间建立连接,将数据写入工作表,以及指定单元格的颜色。
有关详细信息,请参阅Get Started with COM。
本页对应的英文页面已更新,但尚未翻译。 若要查看最新内容,请点击此处访问英文页面。
将电子表格数据读入到表中
MATLAB® 中表示电子表格数据的最佳方法是在表中表示,表可以存储混合的数值和文本数据,以及变量和行名称。可采用交互方式或编程方式将数据读入到表中。要以交互方式选择数据,请在主页选项卡中的变量部分中点击导入数据。要以编程方式导入数据,请使用以下函数之一:
readtable
- 读取一个工作表。spreadsheetDatastore
- 读取多个工作表或文件。
以下示例说明如何同时使用这两个函数以编程方式导入电子表格数据。样本数据 airlinesmall_subset.xlsx
包含与 1996 年到 2008 年之间的每一年一一对应的工作表。工作表名称与年份对应,例如 2003
。
读取工作表中的所有数据
调用 readtable
,读取名为 2008 的工作表中的所有数据,然后仅显示前 10 个行和列。使用 Sheet
名称-值对组参数指定工作表名称。如果数据位于文件的第一个工作表中,则不需要指定 Sheet
。
T = readtable('airlinesmall_subset.xlsx','Sheet','2008'); T(1:10,1:10)
ans=10×10 tableYear Month DayofMonth DayOfWeek DepTime CRSDepTime ArrTime CRSArrTime UniqueCarrier FlightNum____ _____ __________ _________ _______ __________ _______ __________ _____________ _________
2008 1 3 4 1012 1010 1136 1135 {'WN'} 752
2008 1 4 5 1303 1300 1411 1415 {'WN'} 1161
2008 1 6 7 2134 2115 2242 2220 {'WN'} 1830
2008 1 7 1 1734 1655 54 30 {'WN'} 302
2008 1 8 2 1750 1755 2018 2035 {'WN'} 1305
2008 1 9 3 640 645 855 905 {'WN'} 896
2008 1 10 4 1943 1945 2039 2040 {'WN'} 120
2008 1 11 5 1303 1305 1401 1400 {'WN'} 1685
2008 1 13 7 1226 1230 1415 1400 {'WN'} 1118
2008 1 14 1 1337 1340 1623 1630 {'WN'} 730
读取特定工作表中的选定范围
通过指定范围 ‘A1:E11’
,从名为 1996
的工作表中仅读取前 5 列中的 10 行数据。readtable
函数将返回一个 10×5 的表。
T_selected = readtable(‘airlinesmall_subset.xlsx’,‘Sheet’,‘1996’,‘Range’,‘A1:E11’)
T_selected=10×5 table Year Month DayofMonth DayOfWeek DepTime ____ _____ __________ _________ _______
1996 1 18 4 2117
1996 1 12 5 1252
1996 1 16 2 1441
1996 1 1 1 2258
1996 1 4 4 1814
1996 1 31 3 1822
1996 1 18 4 729
1996 1 26 5 1704
1996 1 11 4 1858
1996 1 7 7 2100
将变量转换为日期时间、持续时间或分类
在导入过程中,readtable
会自动检测变量的数据类型。但如果数据中包含非标准的日期、持续时间或重复的标签,则可以将这些变量转换为其正确的数据类型。通过将变量转换为其正确的数据类型,可以执行高效的计算和比较,并改善内存的使用。例如,将变量 Year
、Month
和 DayofMonth
表示为一个 datetime
变量,将 UniqueCarrier
表示为 categorical
,将 ArrDelay
表示为以分钟为单位的 duration
。
data = T(:,{‘Year’,‘Month’,‘DayofMonth’,‘UniqueCarrier’,‘ArrDelay’}); data.Date = datetime(data.Year,data.Month,data.DayofMonth); data.UniqueCarrier = categorical(data.UniqueCarrier); data.ArrDelay = minutes(data.ArrDelay);
查找当年延迟最长的一天,然后显示该日期。
ind = find(data.ArrDelay == max(data.ArrDelay)); data.Date(ind)
ans = datetime 07-Apr-2008
读取电子表格文件中的所有工作表
数据存储适合处理分布在多个工作表或多个电子表格文件中的任意大的数据量。可通过数据存储执行数据导入和数据处理。
从 airlinesmall_subset.xlsx
中的工作表集合创建一个数据存储,选择要导入的变量,然后预览数据。
ds = spreadsheetDatastore(‘airlinesmall_subset.xlsx’); ds.SelectedVariableNames = {‘Year’,‘Month’,‘DayofMonth’,‘UniqueCarrier’,‘ArrDelay’}; preview(ds)
ans=8×5 table Year Month DayofMonth UniqueCarrier ArrDelay ____ _____ __________ _____________ ________
1996 1 18 {'HP'} 6
1996 1 12 {'HP'} 11
1996 1 16 {'HP'} -13
1996 1 1 {'HP'} 1
1996 1 4 {'US'} -9
1996 1 31 {'US'} 9
1996 1 18 {'US'} -2
1996 1 26 {'NW'} -10
在导入数据之前,可以指定要使用的数据类型。在此示例中,以分类变量的形式导入 UniqueCarrier
。
ds.SelectedVariableTypes(4) = {‘categorical’};
使用 readall
或 read
函数导入数据。readall
函数要求所有数据都能放入内存中,样本数据符合此要求。导入后,计算此数据集的最大到港延误。
alldata = readall(ds); max(alldata.ArrDelay)/60
ans = 15.2333
对于大型数据集,请使用 read
函数导入文件的部分内容。有关详细信息,请参阅读取电子表格文件集合或序列。
参考文献: https://ww2.mathworks.cn/help/matlab
matlab与excel的交互相关推荐
- matlab和Excel的交互 非xlsread和xlswrite(1-Excel基础)
MATLAB对Excel的基础操作 1.打开Excel 2.新建workbook工作簿 3.新建worksheet工作表 3. 修改工作表名称 4. 选中工作表并写入数据 5.退出并保存 1.打开Ex ...
- matlab设置列宽,matlab和Excel的交互-(2-单元格操作)
此处默认:Excel=actxserver('Excel.application'); Workbook 为已添加工作簿,eSheet1与eSheet2为工作表1和工作表2,都是具体的一个对象名,请根 ...
- 1-1、matlab与excel、txt的交互
一.Matlab与Excel的交互 1.引述: 数学建模题目常会将数据以附件形式存放在Excel表格中.Excel自带了许多实用.便捷的数据处理功能,掌握这些技巧,往往足以进行数据的初步分析.但在需要 ...
- 如何用matlab在Excel中画画 附源代码
本文介绍如何用matlab控制Excel画画. 对于matlab和Excel你的认识不能仅仅停留在xlsread和xlswrite这两个函数上,其实matlab对Excel的操作远远不止于此,详情请见 ...
- MATLAB和EXCEL交互 Spreadsheet Link
Matlab和Excel交互 Spreadsheet Link Send data to MATLAB Get data from MATLAB Excel中调用matlab函数计算 本文所有都是参考 ...
- matlab与excel数据连接数据库,如何实现matlab与excel数据同步 数据交互?
Excel Link是一个在Windows环境下实现Excel与Matlab进行链接的插件.通过连接Excel和Matlab,用户可以在Excel工作表空间和宏编程工具中使用Matlab的数值计算,图 ...
- link函数 matlab,安装Excel link插件,实现Excel与Matlab的互联
本文介绍Excel link插件的安装,实现Excel与Matlab的互联. Excel link是在Microsoft Windows环境下实现Microsoft Excel和MATLAB进行交互的 ...
- Matlab读取excel并使用拉依达准则筛选数据
1.Matlab读取Excel表格 版本:matlab R2020a,Excel2019的xlsx格式文件 1.1 导入数据 1.2 选择并打开要导入的.xlsx文件 1.3 选择数据区域,选择输出到 ...
- Matlab和excel联合,安装Excel link插件,实现Excel与Matlab的互联
本文介绍Excel link插件的安装,实现Excel与Matlab的互联. Excel link是在Microsoft Windows环境下实现Microsoft Excel和MATLAB进行交互的 ...
最新文章
- 公开课 | 详解CNN-pFSMN模型以及在语音识别中的应用
- 【图论专题】拓扑排序
- 20145305 《信息安全系统设计基础》第6周学习总结
- scala使用zip合并两个集合为二元组集合
- 自从用python写了个自动弹幕脚本后,各大主播来找我,净赚十万!赶紧收藏!!
- Basic concepts behind Web Audio API
- Java开发中巧妙使用链表来实现模拟栈的入栈出栈操作
- Scale-Dependent 3D Geometric Features
- 对于C# 中事件的参数(object sender, EventArgs e)
- 设计模式---组合模式(C++实现)
- Oracle SQL自带函数整理
- 如何删除 Mac 上的 Office 许可证文件?
- gbase oracle mysql_项目从Oracle数据迁移到GBase数据库时解决适配遇到的问题
- 淘宝/天猫api 收货地址列表 API接口
- 华为模拟器eNSP下载与安装(win10系统)
- 如何使用 win10 虚拟桌面
- java.lang.IllegalStateException: Shutdown in progress
- Oracle11g 调整表空间大小 Resize
- 【pytorch】ECA-NET注意力机制应用于ResNet的代码实现
- 微信小程序网悦新闻开发--功能介绍(一)