Matlab学习笔记4——readtable

2023-05-16

Matlab学习笔记4——readtable

基于文件创建表,第一行就作为表头,如果取的表头符合matlab的命名规则,那么该列直接如此命名。

语法

T = readtable(filename)
T = readtable(filename,opts)
T = readtable(___,Name,Value)

readtable 基于文件的扩展名确定文件格式:

.txt、.dat 或 .csv(适用于带分隔符的文本文件)

.xls、.xlsb、.xlsm、.xlsx、.xltm、.xltx 或 .ods(适用于电子表格文件)
readtable 为该文件中的每列在 T 中创建一个变量并从文件的第一行中读取变量名称。默认情况下,readtable 会根据在输入文件的每列中检测到的数据值来创建具有适当数据类型的变量。

用法

调用table构造函数来构造table对象:

下面程序中第1,2行用元胞数组来表示表中每一列的数据,第3行规定了表头的名称,第4行调用table的构造函数创建table对象,先输入数据,再输入表头的名称。表头通过table对象的VariableNames属性来设置。

name={‘Abby’;‘Bob’;‘Charlie’}; % 3x1列向量
number={‘5086470001’;‘5086470002’;‘5086470003’}; % 3x1列向量
colName={‘Name’,‘Number’};
phonetable=table(name,number,‘VariableNames’,colName)

保存原始列标题

当运行下面这行代码时,会产生警告如下:
Ori_test_data2 = readtable(Loadpath2);
警告: 在为表创建变量名称之前,对文件中的列标题进行了修改,以使其成为有效的 MATLAB 标识符。原始列标题保存在
VariableDescriptions 属性中。
将 ‘VariableNamingRule’ 设置为 ‘preserve’ 以使用原始列标题作为表变量名称。
建议修改为此:
Ori_test_data2 = readtable(Loadpath2,‘VariableNamingRule’,‘preserve’);

基于文本文件创建表
  加载文件 myCsvTable.dat 并在文本编辑器中预览其内容。屏幕截图如下所示。请注意,该文件包含逗号分隔的列向数据。

filename = ‘myCsvTable.dat’;
在这里插入图片描述
基于逗号分隔的文本文件创建表。生成的表 T 为文件中的每一列包含一个变量,readtable 将文件第一行中的项视为变量名称。

T = readtable(filename)

T=5×6 table
LastName Gender Age Height Weight Smoker
____________ ______ ___ ______ ______ ______

{'Smith'   }    {'M'}     38       71       176        1   
{'Johnson' }    {'M'}     43       69       163        0   
{'Williams'}    {'F'}     38       64       131        0   
{'Jones'   }    {'F'}     40       67       133        0   
{'Brown'   }    {'F'}     49       64       119        0   
忽略标题并填充缺失值
   从 R2020a 开始,readtable函数读取输入文件的方式就好像它自动对该文件调用 detectImportOptions 函数一样。它可以检测数据类型,丢弃多余的标题行,并填充缺失值。
   例如,在文本编辑器中预览文件 headersAndMissing.txt。该文件有一个列名行,还有一个标题行。最后两行有空缺,前面的各行包含数据值。

在这里插入图片描述
基于该文件创建一个表。readtable 函数将丢弃标题。此外,它还用适当的缺失值来填补空缺,对于数值变量,用 NaN 值;对于文本,用空字符向量。

T = readtable(‘headersAndMissing.txt’)

T=5×6 table
LastName Gender Age Height Weight Smoker
___________ __________ ___ ______ ______ ______

{'Wu'     }    {'M'     }     38      71       176        1   
{'Johnson'}    {'M'     }     43      69       163        0   
{'Sanchez'}    {'F'     }     38      64       131        0   
{'Brown'  }    {'F'     }    NaN      67       133        0   
{'Picard' }    **{0x0 char}**    **NaN**      64       119        0 

要还原以前的版本的默认行为,请指定 ‘Format’,‘auto’ 名称-值对组参数。readtable 会将标题作为数据读取,因此,它会将所有表变量均转换为文本。
T = readtable(‘headersAndMissing.txt’,‘Format’,‘auto’)

T=6×6 table
LastName Gender Age Height Weight Smoker
___________ __________ __________ _______ _______

{'string' }    {'string'}    {'int'   }    {'int'}    {'int'}    {'boolean'}
{'Wu'     }    {'M'     }    {'38'    }    {'71' }    {'176'}    {'1'      }
{'Johnson'}    {'M'     }    {'43'    }    {'69' }    {'163'}    {'0'      }
{'Sanchez'}    {'F'     }    {'38'    }    {'64' }    {'131'}    {'0'      }
{'Brown'  }    {'F'     }    {0x0 char}    {'67' }    {'133'}    {'0'      }
{'Picard' }    {0x0 char}    **{0x0 char}**    {'64' }    {'119'}    {'0'      }
基于文本文件创建表,无列标题

在文本编辑器中预览文件 mySpaceDelimTable.txt。屏幕截图如下所示。请注意,该文件包含空格分隔的列向数据。
在这里插入图片描述
基于以空格分隔的文本文件创建一个表。由于文件的第一行不包含可检测到的列名称,因此 readtable 函数将分配默认的变量名称 Var1 到 Var5。
T = readtable(‘mySpaceDelimTable.txt’)

T=3×5 table
Var1 Var2 Var3 Var4 Var5
_____ ____ ____ ______ _________

{'M'}     45      45     {'NY'}    {'true' }
{'F'}     41      32     {'CA'}    {'false'}
{'M'}     40      34     {'MA'}    {'false'}
基于文本文件创建表,无列标题

% 文本内容(有缺失值)
LastName,Gender,Age,Height,Weight,吸烟
Smith,M,38,71,176,1
Johnson,M,43,69,163,0
Williams,F,38,64,131,0
Jones,F, ,67,133,0
Brown, , ,64,119,0
% 如果有一个中文名,那么需要设置一下
T = readtable(‘csv_table_missing.txt’, “VariableNamingRule”, “preserve”)
在这里插入图片描述
% 访问中文标题内容
Smoker = T.(“吸烟”);
% 获取列名
variable_name = T.Properties.VariableNames
在这里插入图片描述
% 修改第一列列名称
T.Properties.VariableNames{1} = ‘Gender’
在这里插入图片描述
在这里插入图片描述
修改前

修改后

更多用法移步:https://blog.csdn.net/jk_101/article/details/118086060
https://zhuanlan.zhihu.com/p/358793886

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Matlab学习笔记4——readtable 的相关文章

  • 北戴河游记

    最近 xff0c 公司年度旅游 我所在的Team去了北戴河 北戴河 海滨地处河北省秦皇岛市中心的西部 是秦皇岛的城市区之一 xff01 受海洋气候的影响 xff0c 夏无酷暑 xff0c 冬无严寒 xff0c 常年保持一级大气质量 xff0
  • 云计算|OpenStack|社区版OpenStack---基本概念科普(kvm的驱动类别和安装)

    前言 xff1a 云计算里基本都是基于kvm技术作为底层支撑 xff0c 但 xff0c 该技术是比较复杂的 xff0c 首先 xff0c 需要硬件的 支撑 xff0c 表现在物理机上 xff0c 就是需要在BIOS中调整设置虚拟化功能 x
  • Pascal's Triangle -- LeetCode

    原题链接 http oj leetcode com problems pascals triangle 这道题比较简单 xff0c 属于基础的数组操作 基本思路是每层保存前一行的指针 xff0c 然后当前航数据根据上一行来得到 xff0c
  • 【转】windows下通过Xmanager远程桌面访问Ubuntu

    原文 xff1a url http ubuntuguide net enable xdmcp remote login in ubuntu 12 04 lts lightdm url This is simple guide about e
  • VNC许可密钥

    今天用电脑远程VNC连接BT机 xff0c 结果告诉我连不上 xff0c 错误忘记了 xff0c 需要我去购买一个VNC密钥 天朝的我怒了 xff0c 找了半天 xff0c 上网搜到一个有效密钥 xff0c 然后去VNC Server端输入
  • [C80]橙汁同人游戏 Acceleration of SUGURI 2 汉化补丁

    游戏 名称 xff1a 橙汁同人游戏 英文 名称 xff1a Acceleration of SUGURI 2 游戏类型 xff1a 格斗类 FTG 游戏 游戏制作 xff1a 橙汁 游戏发行 xff1a 橙汁 游戏平台 xff1a PC
  • 在LINUX中用cal命令解了一段人类文明历史 1752年 - 九月

    以前听人说在Linux上能够查到一个很奇怪的月份 xff0c 只是当时忘了那个特别的月份 今天在网上搜了一下 xff0c 发现通过这个命令 xff08 月份 xff09 了解了一段人类文明历史 cal 9 1752 九月 1752 一 二
  • 单点登录 - CAS【六】renew、gateway

    一 Renew Opting out of SSO 看下官方网站上的描述 There is a feature of the CAS protocol that allows clients to opt out of single sig
  • svn st 信息说明

    摘自 xff1a http hhhk iteye com blog 1473449 未指定参数时 xff0c 只显示本地修改的条目 没有网络访问 使用 q 时 xff0c 只显示本地修改条目的摘要信息 使用 u 时 xff0c 增加工作版本
  • 64位linux系统编译hadoop源码 native库

    下面是自己编译hadoop源码 xff0c 然后将native库上传覆盖hadoop的过程 0 hadoop native库 在hadoop压缩时 调用此库文件的jni so 来调用linux系统的功能 一般我们的linux机器都是64位
  • 移植boa出现的错误及解决方法

    移植boa的一大把 xff0c 我就不罗嗦了 xff0c 这个就挺好 xff1a 实际上boa太老了 xff0c 据说要用2 95 3的才好用 xff0c 但现在编译器都不断更新 xff0c 就是boa断货 xff0c 他不更新 xff0c
  • java获取对象属性类型、属性名称、属性值

    因为项目需要用到 xff0c 于是简单封装了一些常用的操作 xff1a 根据属性名获取属性值 private Object getFieldValueByName String fieldName Object o try String f
  • 云计算|OpenStack|使用VMware安装华为云的R006版CNA和VRM

    前言 xff1a FusionCompute架构 CNA VRM CNA ComputingNode Agent 计算节点代理VNA虚拟节点代理 xff0c 部署在CNA上 xff0c 实施计算 存储 网络的虚拟化的配置管理 VRM Vir
  • centos 配置java环境

    一 下载jdk jdk下载地址 xff1a http www oracle com technetwork java javase downloads jdk8 downloads 2133151 html 下载jdk 8u152 linu
  • HBase之Java API

    1 Configuration 在使用Java API时 xff0c Client端需要知道HBase的配置环境 xff0c 如存储地址 xff0c zookeeper等信息 这些信息通过Configuration对象来封装 xff0c 可
  • hadoop API 学习小结(一)

    一 从Hadoop URL 中读取数据 使用java net URL对象打开一个数据流 InputStream in 61 new URL 34 hdfs host path 34 openStream 二 FileSystem 对象 取得
  • xmanager passive功能不能使用的问题

    周末调整了防火墙 xff0c 原来能正常使用的xmanger passive功能不能正常使用了 xff0c 初步怀疑是防火墙调整导致 但具体是哪个防火墙端口呢 xff1f 1 xff0c 使用方法 ssh登录主机后 root 64 dtyd
  • ORACLE日常操作手册

    以前为开发人员编写的oracle基础操作手册 xff0c 都基本的oracle操作和SQL语句写法 xff0c 适合初学者 因是很久之前写的 xff0c 文章中可能会存在不准确的地方 xff0c 希望指正 ORACLE日常操作手册 目录 一
  • 算法复习 转帖

    第一阶段 xff1a 练经典常用算法 xff0c 下面的每个算法给我打上十到二十遍 xff0c 同时自己精简代码 xff0c 因为太常用 xff0c 所以要练到写时不用想 xff0c 10 15分钟内打完 xff0c 甚至关掉显示器都可以把
  • Ubuntu下的截图软件Deepin Scrot

    lt style type 61 34 text css 34 gt lt 64 page margin 0 79in p margin bottom 0 08in gt lt style gt Ubuntu12 04 自带的截图软件 sc

随机推荐

  • [转贴]ubuntu基础入门,好贴要转

    安装 xff1a 配置 xff1a AMD xff08 939 xff09 3500 xff0c 升技av8 xff08 k8t800pro xff09 xff0c 创见1GBddr400 xff0c 希捷250GB xff08 IDE x
  • 运用Scrum做项目管理真实案例之五

    引言 xff1a 我会以系列文章的形式跟踪记录我现在正在做的一个完整运用Scrum管理项目的笔记 xff0c 里面会有一些经验教训总结心得 xff0c 以便读者与我互相学习勉励 有写的不对的或者写的不好的地方还请海涵 xff0c 当然我更希
  • 用C#打造自己的实体转换器

    说明 尽管随着NoSQL的普及 xff0c 数据库访问的性能已经非常关注的重点了 xff08 可以通过架构来解决这个瓶颈 xff09 xff0c 所以有越来越多的项目使用了ORM来访问和操作数据库 xff0c 在周公的博客上有一个系列的文章
  • Java工程师考试题

    Java工程师考试题 一 填空题 xff08 本大题10小题 xff0c 每小题2分 xff0c 共20分 xff09 1 当Java对象不再被引用变量引用时 时 将被垃圾回收器回收 2 用POS方法的HTTP包 xff0c HTTP头与P
  • 云原生|kubernetes|ingress-nginx插件部署(kubernetes-1.23和最新版controller-1.6.4)

    前言 xff1a ingress是kubernetes内的一个重要功能插件 xff0c 这个使得服务治理成为一个可能 xff0c 当然 xff0c 结合微服务更为妥当了 不管是什么插件 xff0c 还是服务 xff0c 第一步当然是要能顺利
  • 企业私有云

    企业私有云 企业私有云 xff08 Private Cloud xff09 的定义 xff1a 针对特定的企业 组织和团体提供云服务 xff0c 不对外开放的云计算数据中心 企业私有云的特点 xff1a 1 用户拥有完整的云计算IT系统 x
  • 关于linux下VNC服务的一些介绍(本文章是基于tigervnc)

    一 为什么要写这篇文章 近期在项目上遇到一个很尴尬的现象 xff0c 项目上唯一的一台跳板机不能通过堡垒机进行VNC登录了 xff0c 该跳板机平时用于访问内网web界面做测试 xff1b 但是跳板机内部的VNC服务和端口都正常 xff08
  • Java对象类型转换:向上转型和向下转型

    将一个类型强制转换成另一个类型的过程被称为类型转换 对象类型转换 xff0c 是指存在继承关系的对象 xff0c 不是任意类型的对象 当对不存在继承关系的对象进行强制类型转换时 xff0c 会抛出 Java 强制类型转换 xff08 jav
  • 华为云服务器(linux系统)完整配置流程(包含jdk、Tomcat配置、网页配置等)

    去年华为云服务器做活动 xff0c 白嫖了一个弹性云服务器 xff0c 一直没有用 xff0c 今天着手来配置一下 xff0c 不然要过期了 一边配置一边记录流程 xff0c 亲测有效哦 xff01 首先 xff0c 需要安装一个远程登陆软
  • sql获取两个时间戳之间的时间差以及报错 [Err] 1292 - Truncated incorrect time value: '932:13:47'

    前段时间再项目开发过程中写到一个update语句 xff0c 需求两个时间戳之差作为where条件但是用了 HOUR TIMEDIFF expr1 expr2 方法成功了 UPDATE work order complaint SET 96
  • HTML5 基础知识总结(全)

    文章目录 1 文档类型2 字符集3 标签 lt h1 gt 到 lt h6 gt 4 文本格式化标签 xff08 熟记 xff09 5 标签属性6 图像标签img7 链接标签8 锚点定位9 base标签10 特殊字符11 注释标签12 相对
  • IntelliJ IDEA集成maven

    一 idea中maven的配置 1 maven配置 首先需要在idea中对maven进行集成 xff0c 目录为File Setting Build Execution Deployment Build Tools maven xff0c
  • centos7防火墙配置详细(转载)

    一 条件防火墙是开启的 systemctl start firewalld 1 查看防火墙的配置 firewall cmd state firewall cmd list all 2 开放80端口 firewall cmd permanen
  • JAVA简单快速排序讲解

    首先 xff0c 我们来了解一下什么是快速排序 xff1a 所谓快速排序 xff0c 就是在冒泡排序的基础上进行改进 xff0c 延伸出来的一种跳跃性的排序方法 xff0c 我们都知道 xff0c 冒泡排序 xff0c 就是相邻两个数之间进
  • 基于 CentOS7 的 KVM 部署 + 虚拟机创建

    目录 一 实验环境二 部署 KVM三 创建虚拟机四 远程管理 KVM 虚拟机FAQ 一 实验环境 实验环境 xff1a VMware Workstation 16 Pro 打开虚拟机之前 xff0c 首先开启 VMware Workstat
  • 云原生|kubernetes|网络插件flannel二进制部署和calico的yaml清单部署总结版

    前言 xff1a 前面写了一些关于calico的文章 xff0c 但感觉好像是浅尝辄止 xff0c 分散在了几篇文章内 xff0c 并且很多地方还是没有说的太清楚云原生 kubernetes kubernetes的网络插件calico和fl
  • 在PROC程序中出现 "error: break statement not within loop or switch" 的原因。

    今天碰到一个问题 xff0c 如果proc预编译后生成的 c文件中有下面代码 xff1a if sqlca sqlcode 61 61 1403 break 如果在gcc编译时出现 error break statement not wit
  • Ubuntu18.04下ROS安装

    提示 xff1a 文章写完后 xff0c 目录可以自动生成 xff0c 如何生成可参考右边的帮助文档 文章目录 前言一 Ubuntu操作系统版本对应二 安装ROS1 换源2 添加国内源3 设置密钥4 安装ROS5 初始化 rosdepc6
  • jdbc连接MySQL数据库的简单应用

    jdbc连接MySQL数据库和连接Oracle数据库大体步骤一样 xff0c 首先加载数据库驱动包 xff0c 然后创建数据库连接 xff0c 接着执行sql语句 xff0c 最后返回结果集 但连接MySQL我们需要导入的驱动包是mysql
  • Matlab学习笔记4——readtable

    Matlab学习笔记4 readtable 基于文件创建表 xff0c 第一行就作为表头 xff0c 如果取的表头符合matlab的命名规则 xff0c 那么该列直接如此命名 语法 T 61 readtable filename T 61