2025年MATLAB中readtimetable函数用法

MATLAB中readtimetable函数用法目录 语法 说明 示例 基于文本文件创建时间表 使用导入选项基于文件创建时间表 基于文件创建时间表并指定行时间 从电子表格文件创建时间表并格式化输入数据 readtimetabl 函数的功能是基于文件创建时间表 语法 TT readtimetabl filename TT

大家好,我是讯享网,很高兴认识大家。

目录

语法

说明

示例

基于文本文件创建时间表

使用导入选项基于文件创建时间表

基于文件创建时间表并指定行时间

从电子表格文件创建时间表并格式化输入数据


        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 10 
    讯享网data = readtable('myFile.xml', 'VariableSelectors', '(//table/var)[1]')
    data = table var ___ 1 

小讯
上一篇 2025-02-13 19:09
下一篇 2025-04-08 17:08

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/47256.html