加载并预览等宽文本文件

加载文件 fixed_width_patients_subset_messy.txt 并在文本编辑器中预览其内容。屏幕截图如下所示。屏幕截图显示该文件包含:

空行 - 第 7 行、第 12 行和第 13 行

附加列 - 第 8 列

缺失数据 - 第 1 行、第 4 行、第 9 行和第 11 行

不完整字段 - 最后 3 行

filename = 'fixed_width_patients_subset_messy.txt';

检查并捕获等宽文件的属性

等宽文本文件包含按开始位置、变量数目、变量名称和变量宽度组织的表格数据。可以捕获这些属性以及要为变量使用的数据类型。

DataStartLine = 2;

NumVariables = 7;

VariableNames = {'LastName','Gender','Age','Location','Height',...

'Weight','Smoker'};

VariableWidths = [ 10, 7, 4, 26, 7, ...

7, 7 ] ;

DataType = {'char','categorical','double','char','double',...

'double','logical'};

初始化 FixedWidthImportOptions 对象并设置变量属性

初始化一个 FixedWidthImportOptions 对象并配置其属性,以便与数据的属性相匹配。

opts = fixedWidthImportOptions('NumVariables',NumVariables,...

'DataLines',DataStartLine,...

'VariableNames',VariableNames,...

'VariableWidths',VariableWidths,...

'VariableTypes',DataType);

设置 EmptyLinesRule、Missing Rule 和 ExtraColumnsRule

通过将 EmptyLineRule 设置为 'read',读取数据中的空行。接下来,通过将 MissingRule 设置为 'fill',用预定义的值填充缺失实例。最后,要在导入过程中忽略多余列,请将 ExtraColumnsRule 设置为 'ignore'。有关这些属性及其值的详细信息,请参阅有关 FixedWidthImportOptions 的文档。

opts.EmptyLineRule = 'read';

opts.MissingRule = 'fill';

opts.ExtraColumnsRule ='ignore';

设置 PartialFieldRule

如果导入函数在遍历完整个变量宽度之前遇到行结束字符,就会出现不完整字段。例如,在此预览中,fixed_width_patients_subset_messy.txt 文件的最后三行就属于这种情况。这里,在最后一列的最后一行中,在该字段的头两个位置之后、在到达完整的变量宽度(三个位置)之前,出现了行结束字符。

出现这种不完整字段有时可能意味着出现错误。因此,可以使用 PartialFieldRule 决定如何处理这些数据。要保留不完整字段数据并将其转换为正确的数据类型,请将 PartialFieldRule 设置为 'keep'。有关 PartialFieldRule 的详细信息,请参阅有关 FixedWidthImportOptions 的文档。

opts.PartialFieldRule = 'keep';

导入表

使用 readtable 函数和 FixedWidthImportOptions 对象导入表并预览数据。

T = readtable(filename,opts)

T=15×7 table

LastName Gender Age Location Height Weight Smoker

____________ ___________ ___ _____________________________ ______ ______ ______

{'Smith' } Male 38 {'County General Hospital' } 71 176 true

{'Johnson' } Male 43 {'VA Hospital' } 69 163 false

{'Williams'} Female 38 {'St. Mary's Medical Center'} NaN NaN false

{'Jones' } Female 40 {'VA Hospital' } 67 133 false

{'Brown' } Female 49 {'County General Hospital' } 64 119 false

{0×0 char } NaN {0×0 char } NaN NaN false

{'Wilson' } Male 40 {'VA Hospital' } 68 180 false

{'Moore' } Male 28 {'St. Mary's Medical Center'} NaN 183 false

{'Taylor' } Female 31 {'County General Hospital' } 66 132 false

{'Anderson'} Female 45 {'County General Hospital' } 68 NaN false

{0×0 char } NaN {0×0 char } NaN NaN false

{0×0 char } NaN {0×0 char } NaN NaN false

{'White' } Male 39 {'VA Hospital' } 72 2 false

{'Harris' } Female 36 {'St. Mary's Medical Center'} 65 12 false

{'Martin' } Male 48 {'VA Hospital' } 71 181 true

MATLAB每个字母等宽,等宽文本文件的导入选项对象相关推荐

  1. matlab在曲线给命名,matlab 利用xlsread画图,怎么将一组excel数据导入,通过matlab作图...

    Matlab 循环 for 语句 xlsread EXCEL表格数据导入 画图 Matlab的 xlsread() 函数可以将Excel数据到matlab工作空间,然后就可以根据读入据作图.下面给出操 ...

  2. 【科研文献处理】将Web of Science下载的纯文本文件数据导入到Endnote软件中

    将Web of Science下载的纯文本文件数据导入到Endnote软件中 1 背景需求 2 需求完成 2 打开摘要 1 背景需求 在进行文献综述时,往往需要进行大量的文献数据下载,使用如下的方式可 ...

  3. matlab高斯函数半高全宽,【求助】高斯分布下,求半宽度

    最近在做高斯分布的振幅,半高宽NL=30,我只是验证一下我的程序能否算出我输入的高斯分布的振幅的半高宽,可是做出的程序算出来的半高宽是50,请教高手,我错在哪? clc,clear,close all ...

  4. MATLAB怎样产生一个自定义脉宽的快速高斯脉冲

    function [y] = gauss_puls(t, s)% t = 1e-6;%脉宽 % b = t/2;%对称轴 % s = 10e6;%决定胖瘦b = t / 2; x = linspace ...

  5. matlab 花体字母,LaTex

    LaTex CTeX套装(WinEdt) Tex Live(Texworks) 解决Sublime Text 3在GBK编码下的中文乱码问题 Bad Boxes box underfull overf ...

  6. bp神经网络数字识别matlab,matlab神经网络字母识别

    MATLAB平台下的汉字识别 . <Visual+C++_MATLAB图像处理与识别实用案例精选>程序代码说明P0201:MATLAB赋值P0202:MATLAB中的for循环P0203: ...

  7. matlab中字母重音符号,支持重音合成的汉语语音合成系统

    摘要:针对基于单元挑选的汉语语音合成系统中重音预测及实现,本文采用了知识指导下的数据驱动建模策略.首先,采用经过感知结果优化的重音检测器,实现了语音数据库的自动标注:其次,利用重音标注数据库,训练得到 ...

  8. matlab 按字母排序,matlab命令大全(按字母排序) 总汇详解最新发布完整珍藏版

    matlab命令大全(按字母排序) 总汇详解最新发布完整珍藏版 abs 绝对值.模.字符的ASCII码值 acos 反余弦 acosh 反双曲余弦 acot 反余切 acoth 反双曲余切 acsc ...

  9. MATLAB绘图——字母的上标和下标

    学习目标: 掌握MATLAB绘图中的图签下标方法 学习内容: 如下图所示,在MATLAB绘图中,图签中L1.L2的1和2需要下标,其图签语句为: set(leg1,'String',{'L1','L2 ...

最新文章

  1. 【c++】24.std::function和std::bind详解
  2. (十)数据结构之“堆”
  3. ES5中新增的Array方法详细说明
  4. render_template 网页模板
  5. POJ-3154-Graveyard
  6. linux xchgl 汇编含义,替换x86 xchgl 汇编指令
  7. 【SQL Server中SMO的简单使用】 (装载)
  8. 基于微信小程序的外卖点餐系统
  9. H266VVC电子书开放下载啦
  10. 脚本文件和函数文件的区别
  11. emc整改措施及案例_EMC整改案例分享
  12. 2018款树莓派3b+ 登陆中国
  13. js为li列表添加点击事件
  14. vps系统和云服务器搭建,vps系统和云服务器搭建
  15. python期末大作业之实现多线程爬虫系统
  16. 2010年最骚最贱最有深度的100句话!!![
  17. 细谈Type-C、PD原理(一)
  18. iOS9适配 之 关于info.plist 第三方登录 添加URL Schemes白名单
  19. oracle 创建一揽子协议,SAP Business One 9.0 添加一揽子协议简介
  20. abaqus 三维基坑开挖渗流模型,含地下连续墙,内支撑,地下水渗流,流固耦合

热门文章

  1. 你没有变强,是因为你一直很舒服
  2. C++之MFC之Unicode转char*
  3. 解决OpenCV3+VS2015(VS2017)运行时出现debug error abort()has been called的问题
  4. 如何在Linux中安装Intel核显驱动?
  5. 记录报错:java.lang.NullPointerException org.apache.jsp.test_jsp._jspInit(test_jsp.java:23)
  6. 计算机地址如何表达,计算机中的地址是表示
  7. html if语句多条件,nginx if多条件判断的实现
  8. c语言 wchar_t,一个【wchar_t】引发的学案
  9. ubuntu 下vivado关联vscode
  10. 鸿蒙推送荣耀,华为鸿蒙首批推送机型8款,荣耀“避嫌”,不在首批名单