在使用Matlab处理数据时,我们经常需要读取txt文档,可以使用Matlab中强大的textread函数。
它的基本语法是:
[A,B,C,...] = textread(filename,format)
[A,B,C,...] = textread(filename,format,N)
其中filename就是文件名, format就是要读取的格式,A,B,C就是从文件中读取到的数据。
中括号里面变量的个数必须和format中定义的个数相同。 如果每N行相同格式的数据,可采用[A,B,C,...] = textread(filename,format,N)的语法,读取N次。

举例如下:

例1:myfile.txt 中的内容如下:
    1 2 3 4
    5 6 7 8
    9 10 11 12
相应的语句为:
filename = '.\myfile.txt';
[data1,data2,data3,data4]=textread(filename,'%n%n%n%n');
或者为
filename = '.\myfile.txt';
[data1,data2,data3,data4]=textread(filename,'%n%n%n%n',3);

例2:myfile.txt 中的内容如下:
    1, 2, 3, 4
    5, 6, 7, 8
    9, 10, 11, 12
相应的语句为:
filename = '.\myfile.txt';
[data1,data2,data3,data4]=textread(filename,'%n%n%n%n','delimiter', ',');
这里delimiter指出分隔符,读数据的时候会自动跳过分隔符。

例3:myfile.txt 中的内容如下:
    % this a comment
    1, 2, 3, 4
    5, 6, 7, 8
    9, 10, 11, 12
相应的语句为:
filename = '.\myfile.txt';
[data1,data2,data3,data4]=textread(filename,'%n%n%n%n','delimiter', ',','headerlines', 1);
这里告诉textread跳过一开始的1行,1可以替换为任意你要跳过的行数。

例4:myfile.txt 中的内容如下:

Sally Level1 12.34 45 Yes

相应语句为:

filename = '.\myfile.txt';

[names, types, x, y, answer] = textread(filename , '%s %s %f %d %s', 1)

①如果要忽略12.34这个浮点数:[names, types, y, answer] = textread(filename , '%s %s %*f %d %s', 1)。 %*f告诉textread跳过一个浮点数。

②如果要忽略Level,只读取后面的数字:[names, levelnum, x, y, answer] = textread(filename , ... '%s Level%d %f %d %s', 1)

例5:myfile.txt 中的内容如下

1,2,3,4,,6

7,8,9,,11,12

想用nan替代为空的部分。语句如下:data = textread('myfile.txt', 'delimiter', ',', 'emptyvalue', NaN)。

例6: myfile.txt 中的内容如下

Sally    Type1 12.34 45 Yes

Joe      Type2 23.54 60 No

Bill     Type1 34.90 12 No

如果只想读第一列,其余的跳过:

filename = '.\myfile.txt';

[names]=textread(filename,'%s%*[^\n]')

%[^...] - reads characters not matching characters between the brackets until first matching character

%[^\n] 就是一直读到行尾

%*[^\n] 就是从当前直接跳到行尾

可对比:[names,rest]=textread(filename,'%s%[^\n]')

例7: myfile.txt 中的内容如下

Location;date;discharge

Lobith;1989-01-01;00:00;2801

Lobith;1989-01-02;00:00;2619

语法如下:

[Location,... % 1

yyyy              ,... % 2a datestring year

mm                ,... % 2b datestring month

dd                ,... % 2c datestring day

HH                ,... % 3a timestring hour

MM                ,... % 3b timestring minute

discharge] =  ...

textread(filename,'%s%f-%f-%f%f:%f%f',...

'headerlines',1,...

'delimiter'  ,';');

注意:textread不用先fopen那个文件,适用于格式统一的txt文件的一次性大批量读取。textread读取某个文件后,下次再用textread读取这个文件时,还是会从文件头开始读取。

Matlab读取txt文件中的数据(使用textread函数)相关推荐

  1. python导入txt文件并绘图-Python实现读取txt文件中的数据并绘制出图形操作示例

    本文实例讲述了Python实现读取txt文件中的数据并绘制出图形操作.分享给大家供大家参考,具体如下: 下面的是某一文本文件中的数据. 6.1101,17.592 5.5277,9.1302 8.51 ...

  2. 用python读取txt文件中的数据并画各类图形展示_Python实现读取txt文件中的数据并绘制出图形操作示例...

    本文实例讲述了Python实现读取txt文件中的数据并绘制出图形操作.分享给大家供大家参考,具体如下: 下面的是某一文本文件中的数据. 6.1101,17.592 5.5277,9.1302 8.51 ...

  3. python怎么读取txt文件-Python笔记(读取txt文件中的数据)

    在机器学习中,常常需要读取txt文本中的数据,这里主要整理了两种读取数据的方式 数据内容 共有四列数据,前三列为特征值,最后一列为数据标签 409208.3269760.9539523 144887. ...

  4. MATLAB读取excel文件中的数据

    MATLAB读取excel中的数据 读取sheet1中的数据 [num,txt,raw]=xlsread('C:\Users\Administrator\Desktop\test\a.xls')    ...

  5. 水文日常~~Python如何按行读取txt文件中的数据并去除每行末尾的回车符\n

    #从文件中读取数据 with open ('data.txt') as file_object:lines = file_object.read().splitlines()#去除每行末尾的回车符

  6. C++ 读取TXT文件中的数据 每一行空格符相隔的数据单独取出

    stringstream可以用来分割被制表符.空格分开的字符串 ```cpp #include<iostream> #include<sstream> #include< ...

  7. R语言读取txt文件中的内容

        在RGui中读取.txt文件中的内容,采用函数read.table("xxx.txt",head=TRUE|FALSE); 其中head=TRUE表示含有属性的标题,hea ...

  8. python读取字符串指定位置字符_python读取txt文件中特定位置字符的方法

    python读取txt文件中特定位置字符的方法 如下所示: # -*- coding:utf-8 -*- import sys reload(sys) sys.setdefaultencoding(' ...

  9. 学python看什么书好1002无标题-如何使用pandas读取txt文件中指定的列(有无标题)

    最近在倒腾一个txt文件,因为文件太大,所以给切割成了好几个小的文件,只有第一个文件有标题,从第二个开始就没有标题了. 我的需求是取出指定的列的数据,踩了些坑给研究出来了. import pandas ...

最新文章

  1. adc0808温度换算公式_adc0808模数转换电路图及程序
  2. 42.存储器管理应具有的功能?
  3. 国际人工智能算法与应用研讨会(WASA 2018)参会笔记
  4. 微信小程序图片删除php,关于微信小程序中图片处理的问题总结
  5. java 编译器和 jvm_java编译器和JVM有什么区别
  6. C语言实训 --- 仓库管理系统(原代码)
  7. libtorrent java_Libtorrent 之 NDK 编译
  8. Realtek网卡抓取带VLAN tag的报文相关设置方法
  9. 慧翔PMP培训及感想
  10. 已解决:网易邮箱smtphz.qiye.163.com在阿里云环境发不出邮件的问题
  11. 千杯酒中检测那一杯毒酒的问题及思考
  12. Chrome插件安装教程
  13. 多智能体中的图论——多智能体的一致性(二)
  14. ISP 和IAP 原理与区别
  15. 通过USGS批量下载Sentinel2数据
  16. JAVA初级工程师面试36问(一)
  17. background 背景属性详解
  18. html页面标题是什么,javascript如何获取网页的标题(title)?
  19. ubuntu设置pac代理
  20. win32汇编琢石成器第三章笔记

热门文章

  1. Sharding-JDBC(三)3.1.0版本实践
  2. Spring AOP 源码分析 - 创建代理对象
  3. Spring AOP 源码分析 - 筛选合适的通知器
  4. 基于 Java NIO 实现简单的 HTTP 服务器
  5. 深入理解MySQL的外连接、内连接、交叉连接
  6. Java 注解详解 (annotation)
  7. MYSQL查看执行计划 Explain
  8. Java Mocking入门—使用Mockito
  9. Java基础与提高干货系列——Java反射机制
  10. 结果集(ResultSet)用法