目录

语法

说明

示例

基于文本文件创建时间表

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

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

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


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 datetimeValues: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 vectorsLoss: 1468x1 doubleValues:Min             0       Median          180.26  Max             23418   NumMissing      604     Customers: 1468x1 doubleValues:Min             0           Median          75765       Max             5.9689e+06  NumMissing      328         RestorationTime: 1468x1 datetimeValues: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.VariableOptionsans = 1x6 heterogeneous VariableImportOptions (TextVariableImportOptions, DatetimeVariableImportOptions, NumericVariableImportOptions) array with properties:NameTypeFillValueTreatAsMissingQuoteRulePrefixesSuffixesEmptyFieldRule

修改选项对象,为数据中的变量指定所需的数据类型。将变量 Region 和 Cause 的数据类型更改为 categorical。

opts = setvartype(opts,{'Region','Cause'},{'categorical','categorical'});

使用 readtimetable 以及选项对象导入时间表。然后显示该时间表的汇总。

TT = readtimetable('outages.csv',opts);
summary(TT)
RowTimes:OutageTime: 1468x1 datetimeValues:Min         2002-02-01 12:18 Median      2010-03-18 21:05 Max         2014-01-15 02:41 Variables:Region: 1468x1 categoricalValues:MidWest        142   NorthEast      557   SouthEast      389   SouthWest       26   West           354   Loss: 1468x1 doubleValues:Min             0       Median          180.26  Max             23418   NumMissing      604     Customers: 1468x1 doubleValues:Min             0           Median          75765       Max             5.9689e+06  NumMissing      328         RestorationTime: 1468x1 datetimeValues:Min             2002-02-07 16:50  Median          2010-03-31 10:54  Max             2042-09-18 23:31  NumMissing      29                Cause: 1468x1 categoricalValues: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 tableRegion           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 datetimeValues: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 vectorsOutageTime: 1468x1 datetimeValues:Min       2002-02-01 12:18Median    2010-03-18 21:05Max       2014-01-15 02:41Loss: 1468x1 doubleValues:Min             0       Median          180.26  Max             23418   NumMissing      604     Customers: 1468x1 doubleValues: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 datetimeValues:Min         01-Jan-1999 Median      16-Nov-2008 Max         01-Oct-2018 Variables:Net Sales: 80x1 doubleValues:Min            35066Median    1.0407e+05Max       1.7684e+05Cost of Sales: 80x1 doubleValues:Min        18106  Median     48624  Max        77742  Gross Margin: 80x1 doubleValues:Min        14563  Median     56719  Max        99097  Research and Development Expenses: 80x1 doubleValues:Min        4904.9 Median      24637 Max         45234 Administrative Expenses: 80x1 doubleValues:Min        1047.4 Median     2015.3 Max        2811.5 Total Operating Expenses: 80x1 doubleValues:Min        5992.5 Median      26518 Max         48045 Net Income: 80x1 doubleValues:Min        7634.3 Median      28586 Max         51051 Total Shares: 80x1 doubleValues:Min           822 Median     1820.5 Max          2710 Earnings per Share: 80x1 doubleValues: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 tablevar___1 2 10 20 
    读取属于元素节点的属性的值。 在属性前加 at 符号 (@) 前缀。
    data = readtable('myFile.xml', 'VariableSelectors', '//table/@category')
    data =2×1 tablecategoryAttribute_________________"ones"      "tens"   
    在一组节点中选择一个特定节点。 在方括号 ([]) 中提供要选择的节点的索引。
    data = readtable('myFile.xml', 'TableSelector', '//table[1]')
    data =2×1 tablevar___1 2
    
    指定运算的优先级。 在要首先计算的表达式前后添加圆括号。
    data = readtable('myFile.xml', 'VariableSelectors', '//table/var[1]')
    data =2×1 tablevar___1 10 
    data = readtable('myFile.xml', 'VariableSelectors', '(//table/var)[1]')
    data =tablevar___1 

MATLAB中readtimetable函数用法相关推荐

  1. matlab sort descend,详解Matlab中 sort 函数用法

    搜索热词 (1)B=sort(A) 对一维或二维数组进行升序排序,并返回排序后的数组,当A为二维时,对数组每一列进行排序. eg: A=[1,5,3],则sort(A)=[1,3,5] A=[1,3; ...

  2. matlab中频域信号IFFT,MATLAB中ifft函数用法、性质、特性-以及与fft的组合应用全面深入解析(含程序)...

    MATLAB中ifft函数用法.性质.特性,以及与fft的组合应用全面深入解析(含程序) 前言 在我之前的<MATLAB中fft函数用法.性质.特性.缺陷全面深入解析(含程序)>中,我已经 ...

  3. Matlab中 intlinprog函数用法简介

    Matlab中 intlinprog函数用法简介 本来想要自己亲手写一遍的,发现了一优质博文基本上跟我做过的例题大差不差,所以就直接放上链接. 参考链接 https://www.cnblogs.com ...

  4. matlab stem 属性,matlab中stem函数用法_常见问题解析

    matlab中如何自定义图例_常见问题解析 matlab中自定义图例的方法:首先打开matlab软件:然后点击勾选按钮,新建一个文件并输入代码为"x = 0:pi/50:2*pi;" ...

  5. stem什么意思matlab,matlab中stem函数用法_常见问题解析,matlab

    matlab中如何自定义图例_常见问题解析 matlab中自定义图例的方法:首先打开matlab软件:然后点击勾选按钮,新建一个文件并输入代码为"x = 0:pi/50:2*pi;" ...

  6. matlab里randn是什么,matlab中randn函数用法

    matlab中randn函数用法 MATLAB 中的randn函数 matlab函数 randn:产生正态分布的随机数或矩阵的函数 randn:产生均值为0,方差σ^2 = 1,标准差σ = 1的正态 ...

  7. sort函数降序排列matlab,详解Matlab中 sort 函数用法

    (1)B=sort(A) 对一维或二维数组进行升序排序,并返回排序后的数组,当A为二维时,对数组每一列进行排序. eg: A=[1,5,3],则sort(A)=[1,3,5] A=[1,5,3;2,4 ...

  8. length命令怎么用Matlab,matlab中length函数用法

    matlab中的length表示什么?应该如何使用? length:数组长度(即行数或列数中的较大值): 使用方法: n=length(A):如果A为非空数组,返回行数和列数两者之间数值较大的那一个值 ...

  9. matlab中imresize()函数用法

    matlab中imresize()函数的功能是改变图像的大小. 其用法有多种: 1.B = imresize(A,m)  将图片A放大m倍 2.B = imresize(A,m,method)  将图 ...

最新文章

  1. 光伏电池的simulink仿真及一些原理
  2. 数字图像处理实验(14):PROJECT 06-01,Web-Safe Colors
  3. 【转】ASP.NET之 关于触发Global.asax Session_End事件的经验
  4. 专注力 化繁为简的惊人力量
  5. HDU - 1547 Bubble Shooter(dfs+连通块+模拟)
  6. 构造函数、原型、继承原来这么简单?来吧,深入浅出
  7. 猜数游戏,随机目标数字,直到猜中退出
  8. android wp主题,WP桌面:win10系统的最佳替代安卓应用
  9. jsp java循环读取json_JAVA JSON遍历问题,求解(内附代码)
  10. E 定向 牛客练习赛25
  11. python学来干什么-学python出来到底能干嘛
  12. 雷诺方程推导及FDM求解
  13. 控制面板音频设置里显示“没有音频设备”,没有声音的解决办法
  14. 用计算机怎么计算税率,一般纳税人税率计算器,一般纳税人税率如何计算?
  15. 保时捷狂推NFT,高调喊出打造Web3社区,Web2品牌“天生缺陷”终将折戟沉沙?...
  16. 超级计算器android,超级计算器 - 一上线就被AppStore官方推荐的超级计算器 - Android 应用 - 【最美应用】...
  17. 力扣OJ 剑指 Offer(1-30)
  18. 【量化交易01】CTA策略 菲阿里四价+空中花园策略
  19. KMP - Oulipo - HDU - 1686
  20. [about phd]读博=

热门文章

  1. 【软件工程】敏捷宣言
  2. sublime text 编译时提示[WinError 2] 系统找不到指定的文件。
  3. 内存申请标记注意区分___GFP_HIGH和___GFP_HIGHMEM
  4. js点击使内容变成可编辑状态
  5. android中的尺寸单位是什么,Android中各种长度尺寸单位(dp,dip,px,sp,pt)的区别
  6. MIT 线性代数 Linear Algebra 26:复矩阵,傅里叶矩阵, 快速傅里叶变换 FFT
  7. php期末大作业可以做什么,期末要交一个基于php连入数据的大作业
  8. C#实现jQuery的方法连缀
  9. 全球首个5G R16 Ready:紫光展锐的新征程
  10. 计算机网络拓扑结构课件,计算机网络拓扑结构的分析及选择