当前位置:网站首页>MATLAB中readtimetable函数用法
MATLAB中readtimetable函数用法
2022-08-04 20:26:00 【jk_101】
目录
readtimetable函数的功能是基于文件创建时间表。
语法
TT = readtimetable(filename)
TT = readtimetable(filename,opts)
TT = readtimetable(___,Name,Value)说明
TT = readtimetable(filename) 通过从文件中读取列向数据来创建时间表。
readtimetable 基于文件的扩展名确定文件格式:
.txt、.dat 或 .csv(适用于带分隔符的文本文件)
.xls、.xlsb、.xlsm、.xlsx、.xltm、.xltx 或 .ods(适用于电子表格文件)
.xml(适用于可扩展标记语言 (XML) 文件)。
对于文本和电子表格文件,readtimetable 为该文件中的每列在 TT 中创建一个变量并从文件的第一行中读取变量名称。对于 XML 文件,readtimetable 在 T 中为检测为时间表变量的每个元素或属性节点创建一个变量。变量名称对应于元素和属性名称。
readtimetable 将表格数据中 datetime 或 duration 类型的第一列设置为时间表的行时间。其余列成为时间表的变量。
TT = readtimetable(filename,opts) 还使用导入选项 opts。
TT = readtimetable(___,Name,Value) 基于文件创建一个时间表,并通过一个或多个名称-值对组参数指定其他选项。需要在上述语法的输入参数之后指定名称-值对组。
要为数据设置特定的导入选项,可以使用 opts 对象,也可以指定名称-值对组。当指定除 opts 之外的名称-值对组时,readtimetable 仅支持下列名称-值对组:
文本和电子表格参数 - ReadVariableNames、RowTimes、SampleRate、TimeStep、StartTime
仅文本参数 - DateLocale、Encoding
仅电子表格参数 - Sheet、UseExcel
示例
基于文本文件创建时间表
基于逗号分隔的文本文件创建表。
TT = readtimetable('outages.csv');显示表的摘要。创建时间表时,如果没有为行时间指定任何参数,则 readtimetable 函数会检测并指定数据中的第一个日期时间变量或持续时间变量 OutageTime 作为行时间变量。其余变量成为时间表的变量。
summary(TT)
RowTimes:
OutageTime: 1468x1 datetime
Values:
Min 2002-02-01 12:18
Median 2010-03-18 21:05
Max 2014-01-15 02:41
Variables:
Region: 1468x1 cell array of character vectors
Loss: 1468x1 double
Values:
Min 0
Median 180.26
Max 23418
NumMissing 604
Customers: 1468x1 double
Values:
Min 0
Median 75765
Max 5.9689e+06
NumMissing 328
RestorationTime: 1468x1 datetime
Values:
Min 2002-02-07 16:50
Median 2010-03-31 10:54
Max 2042-09-18 23:31
NumMissing 29
Cause: 1468x1 cell array of character vectors使用导入选项基于文件创建时间表
检测文本文件的导入选项,指定变量类型,然后基于数据创建时间表。
基于文件创建导入选项对象,并检查变量选项。
opts = detectImportOptions('outages.csv');
opts.VariableOptions
ans =
1x6 heterogeneous VariableImportOptions (TextVariableImportOptions, DatetimeVariableImportOptions, NumericVariableImportOptions) array with properties:
Name
Type
FillValue
TreatAsMissing
QuoteRule
Prefixes
Suffixes
EmptyFieldRule修改选项对象,为数据中的变量指定所需的数据类型。将变量 Region 和 Cause 的数据类型更改为 categorical。
opts = setvartype(opts,{'Region','Cause'},{'categorical','categorical'});使用 readtimetable 以及选项对象导入时间表。然后显示该时间表的汇总。
TT = readtimetable('outages.csv',opts);
summary(TT)
RowTimes:
OutageTime: 1468x1 datetime
Values:
Min 2002-02-01 12:18
Median 2010-03-18 21:05
Max 2014-01-15 02:41
Variables:
Region: 1468x1 categorical
Values:
MidWest 142
NorthEast 557
SouthEast 389
SouthWest 26
West 354
Loss: 1468x1 double
Values:
Min 0
Median 180.26
Max 23418
NumMissing 604
Customers: 1468x1 double
Values:
Min 0
Median 75765
Max 5.9689e+06
NumMissing 328
RestorationTime: 1468x1 datetime
Values:
Min 2002-02-07 16:50
Median 2010-03-31 10:54
Max 2042-09-18 23:31
NumMissing 29
Cause: 1468x1 categorical
Values:
attack 294
earthquake 2
energy emergency 188
equipment fault 156
fire 25
severe storm 338
thunder storm 201
unknown 24
wind 95
winter storm 145 基于文件创建时间表并指定行时间
从以逗号分隔的文本文件中读取一个表,并使用选择的行时间变量创建一个时间表。
创建一个导入选项对象并预览表格数据。
opts = detectImportOptions('outages.csv');
preview('outages.csv',opts)
ans=8×6 table
Region OutageTime Loss Customers RestorationTime Cause
_____________ ________________ ______ __________ ________________ ___________________
{'SouthWest'} 2002-02-01 12:18 458.98 1.8202e+06 2002-02-07 16:50 {'winter storm' }
{'SouthEast'} 2003-01-23 00:49 530.14 2.1204e+05 NaT {'winter storm' }
{'SouthEast'} 2003-02-07 21:15 289.4 1.4294e+05 2003-02-17 08:14 {'winter storm' }
{'West' } 2004-04-06 05:44 434.81 3.4037e+05 2004-04-06 06:10 {'equipment fault'}
{'MidWest' } 2002-03-16 06:18 186.44 2.1275e+05 2002-03-18 23:23 {'severe storm' }
{'West' } 2003-06-18 02:49 0 0 2003-06-18 10:54 {'attack' }
{'West' } 2004-06-20 14:39 231.29 NaN 2004-06-20 19:16 {'equipment fault'}
{'West' } 2002-06-06 19:28 311.86 NaN 2002-06-07 00:51 {'equipment fault'}
通过将 RestorationTime 变量指定为时间表的行时间变量来创建一个时间表。然后,显示该时间表的汇总。
TT = readtimetable('outages.csv','RowTimes','RestorationTime');
summary(TT)
RowTimes:
RestorationTime: 1468x1 datetime
Values:
Min 2002-02-07 16:50
Median 2010-03-31 10:54
Max 2042-09-18 23:31
NumMissing 29
Variables:
Region: 1468x1 cell array of character vectors
OutageTime: 1468x1 datetime
Values:
Min 2002-02-01 12:18
Median 2010-03-18 21:05
Max 2014-01-15 02:41
Loss: 1468x1 double
Values:
Min 0
Median 180.26
Max 23418
NumMissing 604
Customers: 1468x1 double
Values:
Min 0
Median 75765
Max 5.9689e+06
NumMissing 328
Cause: 1468x1 cell array of character vectors从电子表格文件创建时间表并格式化输入数据
从电子表格文件创建一个时间表,并格式化输入数据。
例如,从文件 quarterlyFinances1999To2019.csv 创建一个时间表,指定时间戳的开始日期和每个时间戳之间的时间,并从数据中删除“$”符号。
如图所示:

以时间表形式读取文件 quarterlyFinances1999To2019.csv 中的数据。将连续行时间之间的时间长度指定为一个日历季度,从 1999 年 1 月 1 日开始。将 'VariableNamingRule' 设置为 preserve 以保留变量名称中的空白,并将 'TrimNonNumeric' 设置为 true 以删除数据中数值前的“$”符号。
TT = readtimetable("quarterlyFinances1999To2019.csv","TimeStep", calquarters(1),"StartTime", datetime(1999, 1, 1),...
"VariableNamingRule", "preserve", "TrimNonNumeric", true);显示数据的摘要。
summary(TT)
RowTimes:
Time: 80x1 datetime
Values:
Min 01-Jan-1999
Median 16-Nov-2008
Max 01-Oct-2018
Variables:
Net Sales: 80x1 double
Values:
Min 35066
Median 1.0407e+05
Max 1.7684e+05
Cost of Sales: 80x1 double
Values:
Min 18106
Median 48624
Max 77742
Gross Margin: 80x1 double
Values:
Min 14563
Median 56719
Max 99097
Research and Development Expenses: 80x1 double
Values:
Min 4904.9
Median 24637
Max 45234
Administrative Expenses: 80x1 double
Values:
Min 1047.4
Median 2015.3
Max 2811.5
Total Operating Expenses: 80x1 double
Values:
Min 5992.5
Median 26518
Max 48045
Net Income: 80x1 double
Values:
Min 7634.3
Median 28586
Max 51051
Total Shares: 80x1 double
Values:
Min 822
Median 1820.5
Max 2710
Earnings per Share: 80x1 double
Values:
Min 6.52
Median 15.515
Max 24.62 提示
使用 XPath 选择器指定要导入 XML 输入文档的哪些元素。例如,假设您要导入 XML 文件 myFile.xml,该文件具有以下结构:
<data>
<table category="ones">
<var>1</var>
<var>2</var>
</table>
<table category="tens">
<var>10</var>
<var>20</var>
</table>
</data>下表提供 XPath 选择器名称-值参数(例如 VariableSelectors 或 TableSelector)支持的 XPath 语法。
选取操作 语法 示例 结果 选择其名称与您要选择的节点匹配的每个节点,而无论它在文档中的位置如何。 在名称前加两个正斜杠 ( //) 前缀。data = readtable('myFile.xml', 'VariableSelectors', '//var')data = 4×1 table var ___ 1 2 10 20读取属于元素节点的属性的值。 在属性前加 at 符号 ( @) 前缀。data = readtable('myFile.xml', 'VariableSelectors', '//table/@category')data = 2×1 table categoryAttribute _________________ "ones" "tens"在一组节点中选择一个特定节点。 在方括号 ( []) 中提供要选择的节点的索引。data = readtable('myFile.xml', 'TableSelector', '//table[1]')data = 2×1 table var ___ 1 2指定运算的优先级。 在要首先计算的表达式前后添加圆括号。 data = readtable('myFile.xml', 'VariableSelectors', '//table/var[1]')data = 2×1 table var ___ 1 10data = readtable('myFile.xml', 'VariableSelectors', '(//table/var)[1]')data = table var ___ 1
边栏推荐
猜你喜欢

多用户同时远程登录连接到一台服务器

2022年国内手机满意度榜单:华为稳坐国产品牌第一

How to promote the implementation of rural revitalization
Force KouTi (5), the longest text string back

新式茶饮,卷完水果还能卷什么?

ASP.NET商贸进销存管理系统源码(带数据库文档)源码免费分享

面试官:索引为什么会失效?

搭建MyCat2一主一从的MySQL读写分离

ts集成和使用

阿里的arthas使用,入门报错:Unable to attach to 32-bit process running under WOW64
随机推荐
awk statistical average max min
二叉树是否对称
基于HDF的LED驱动程序开发(2)
工龄10年的测试员从大厂“裸辞”后...
A complete cross-compilation environment records the shell scripts generated by peta
明明加了唯一索引,为什么还是产生了重复数据?
【AGC】构建服务1-云函数示例
动态数组底层是如何实现的
EasyUi常用代码
带你了解数据分布式存储原理
mysql的存储过程介绍、创建、案例、删除、查看「建议收藏」
新式茶饮,卷完水果还能卷什么?
MySQL stored procedure introduction, creation, case, delete, view "recommended collection"
Finished product upgrade program
关于 SAP 电商云 Spartacus UI SSR 的 state transfer 问题
Retrofit的使用及原理详解
vs Code runs a local web server
【学术相关】清华教授发文劝退读博:我见过太多博士生精神崩溃、心态失衡、身体垮掉、一事无成!...
nr part calculation
面试官:Redis中过期的key是怎么被删除的?