matlab如何导入多文本数据,将文本文件中的混合数据导入表
样本文件概述
样本文件 outages.csv 包含表示美国电力中断的数据。文件的前几行如下:
Region,OutageTime,Loss,Customers,RestorationTime,Cause
SouthWest,2002-01-20 11:49,672,2902379,2002-01-24 21:58,winter storm
SouthEast,2002-01-30 01:18,796,336436,2002-02-04 11:20,winter storm
SouthEast,2004-02-03 21:17,264.9,107083,2004-02-20 03:37,winter storm
West,2002-06-19 13:39,391.4,378990,2002-06-19 14:27,equipment fault
读取文本文件
使用 readtable 导入数据,并显示前五行。readtable 函数会自动检测分隔符和变量类型。
T = readtable('outages.csv');
head(T,5) % show first 5 rows of table
ans=5×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' }
在导入之前指定变量数据类型
根据文件中的变量类型,将变量数据类型更新为相应的 MATLAB 数据类型可能有益于数据。例如,outages.csv 中的第一列和第六列为分类列。通过将这两个列指定为 categorical 数组,您可以运用 MATLAB 函数处理分类数据。
要指定变量的数据类型,有如下方法可以选择:
指定 readtable 中的 Format 名称-值对组
设置文件导入选项的 VariableTypes 属性
使用 Format 名称-值对组指定变量的数据类型,读取数据,并显示前五行数据。在 formatSpec 设定符的 %{yyyy-MM-dd HH:mm}D 部分中,花括号之间的文本描述了日期和时间数据的格式。Format 中指定的值指定了:
文件中的第一列和最后一列为分类数据
第二列和第五列为格式化的日期和时间数据
第三列和第四列为浮点值
formatSpec = '%C%{yyyy-MM-dd HH:mm}D%f%f%{yyyy-MM-dd HH:mm}D%C';
T = readtable('outages.csv','Format',formatSpec);
head(T,5)
ans=5×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
或者,通过使用导入选项的 setvartype 函数,指定变量的数据类型。首先,为文件创建一个导入选项对象。数据文件包含了不同类型的变量。指定第一个和最后一个变量为 categorical 数组,第二个和第五个变量为 datetime 数组,剩余变量为 double。
opts = detectImportOptions('outages.csv');
varNames = opts.VariableNames ; % variable names
varTypes = {'categorical','datetime','double',...
'double','datetime','categorical'};
opts = setvartype(opts,varNames,varTypes);
将 readtable 与 opts 配合使用以导入数据,然后显示前五行。
T = readtable('outages.csv',opts);
head(T,5)
ans=5×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
将新变量追加到表中
表 T 中包含了 OutageTime 和 RestorationTime。计算每次电力中断的持续时间并将此数据追加到表中。
T.Duration = T.RestorationTime - T.OutageTime;
head(T,5)
ans=5×7 table
Region OutageTime Loss Customers RestorationTime Cause Duration
_________ ________________ ______ __________ ________________ _______________ _________
SouthWest 2002-02-01 12:18 458.98 1.8202e+06 2002-02-07 16:50 winter storm 148:32:00
SouthEast 2003-01-23 00:49 530.14 2.1204e+05 NaT winter storm NaN
SouthEast 2003-02-07 21:15 289.4 1.4294e+05 2003-02-17 08:14 winter storm 226:59:00
West 2004-04-06 05:44 434.81 3.4037e+05 2004-04-06 06:10 equipment fault 00:26:00
MidWest 2002-03-16 06:18 186.44 2.1275e+05 2002-03-18 23:23 severe storm 65:05:00
matlab如何导入多文本数据,将文本文件中的混合数据导入表相关推荐
- Stream流、FiLe和IO流、IO流(字节流-拷贝文件_和_字符流-读取文本中的数据写入文本文件中)9-10-11
package com.streamdemo; import java.util.ArrayList; import java.util.List; /*** 体验Stream流** 创建一个集合,存 ...
- 10-10 常见单词 : 访问项目Gutenberg(http://gutenberg.org/ ) , 并找一些你想分析的图书。 下载这些作品的文本文件或将浏览器中的原始文本复制到文本文件中。 你可
10-10 常见单词 : 访问项目Gutenberg(http://gutenberg.org/ ) , 并找一些你想分析的图书. 下载这些作品的文本文件或将浏览器中的原始文本复制到文本文件中. 你可 ...
- mysql一张表1亿天数据_1亿条数据在PHP中实现Mysql数据库分表100张
转: 1亿条数据在PHP中实现Mysql数据库分表100张 http://php-z.com/thread-2115-1-1.html (出处: PHP-Z) 当数据量猛增的时候,大家都会选择库表散列 ...
- 数据架构现代化,Cloudera“混合数据”能够成为定海神针吗?
"现代数据架构,加速数据变现."Cloudera大中华区区域副总裁王刚在近日于上海举行的Cloudera Evolve上如此表示,"作为一家混合数据公司,Cloudera ...
- 导入matlab某两列数据,将文本文件中的数据导入到matlab中一例(wwh)
将文本文件(.txt)中的数据导入到matlab中一例 山东水利职业学院王为洪 247128324@http://www.doczj.com/doc/5d97a7dfad51f01dc281f1fd. ...
- c语言读取网页文本内容,从文本文件中读取数据
请问如何用c语言从txt文件中读取数据? 请问如何用c语言从txt文件中读取数据? 就是用空格分开的数据,例如:12//其中的in.txt就是你要读取数据的文件,当然把它和程序放在同一目录 - #in ...
- ajax 导入大量excel,在Web界面中实现Excel数据大量导入的处理方式
里就主要简要介绍下导入的处理逻辑即可,由于是在客户端组装列表数据,然后通过ajax提交的,它的的代码如下所示.(这个也就是后面需要解决的问题).//保存导入的数据 function SaveImpor ...
- php去除每行的重复文本,php删除文本文件中重复行的方法
本文实例讲述了php删除文本文件中重复行的方法.分享给大家供大家参考.具体分析如下: 这个php函数用来删除文件中的重复行,还可以指定是否忽略大小写,和指定换行符 ?12345678910111213 ...
- ajax从mysql提取数据在html中_EXCEL混合内容中提取数据,其实很简单
作者:翟振福 转自:Excel之家ExcelHome 翟振福 Excel之家ExcelHome 我们来看看这样一组数据: 怎样用公式将A列的数据分别提取成B.C列呢? 在这里告诉大家一个正确的写公式的 ...
最新文章
- linux 系统性能指标采样脚本
- 洛谷——P2626 斐波那契数列(升级版)矩阵
- link和@import的区别
- python停止运行tensorflow_Tensorflow 开启训练后卡死
- uitableview 弹性_iOS UITableView滚动头图 拉伸放大效果 (头部弹性效果) 增加iOS11支持 附有demo...
- 4.10 风格代价函数
- eclipse中的一个编译错误修正
- ip-sysctl.txt 文件
- String、StringBuffer和StringBuilder
- c语言单片机程序段,51单片机C语言编程基础及实例
- apple 证书 账号 内购 详解
- GuLi商城-简介-项目介绍、分布式基础概念、微服务架构图
- gzip: stdin: not in gzip format / tar: Child returned status 1
- arcmap坐标点生成线和面(更正版)
- 邬贺铨院士:5G技术影响智联网的关键点
- 谷歌浏览器导入密码设置
- 微软校招编程题Beautiful String的状态机解法
- springboot毕设茶会微电影评价系统37iza(java+VUE+Mybatis+Maven+Mysql)
- Shiro实现自定义filter
- 使用了代理服务器之后突然浏览器不能打开网页的解决方法
热门文章
- c ++产生不同的随机数_C ++程序生成随机密码
- Python 爬取淘宝商品信息栏目
- 使用Docker部署RabbitMQ集群
- 基于Python的开源人脸识别库,离线识别率高达99.38%
- centos7 docker删除端口映射_centos7安装docker,结合docker安装mysql,学习简单使用
- 为什么python提示没有clock_python – 为什么time.clock比time.time给出更长的时间?
- php 分析url函数,PHP 解析URL函数 parse_url()函数
- python字典进行大写转化_Python字典转换成小写?
- 功放音量调节原理_玩汽车音响,功放和喇叭,应该如何做好匹配?
- outlook两个账号怎么分开存储邮件