Matlab中读取txt文件的几种方法

matlab读取文本文件的几种函数:

1、load——适合读取纯数据文本;

2、importdata——只读取数据,自动省略数据格式前后的字符,超大文件不适合;

3、textread、textscan——适合读取行列规整的文本,会存到元胞中,可通过headerlines省略读取字段名(字符行);

4、csvread、dlmread——适合读取csv、xsl等文件格式文本;

5、fprintf、fscanf——适合读取复杂的文本(中英文、数字串混杂出现);

一、纯数据文件(没有字母和中文,纯数字)

对于这种txt文档,从matalb中读取就简单多了

例如test.txt文件,内容为“17.901 -1.1111 33.045

17.891 -1.1286 33.045

17.884 -1.1345 33.045”

可以在command window中输入load test.txt ,然后就会产生一个test的数据文件,内容跟test.txt中的数据一样;另一种方法是在file/import data....../next/finish 也可产生一个叫test的数据文件。

二、中英文和数据如test1.txt

“你好

欢迎来到

振动论坛

vib.hit.edu.cn

1 11 111 1111

2 22 222 2222

3 33 333 3333

4 44 444 4444

5 55 555 5555”

这样的文件怎么读入数据呢?

方法有多种,现举两个比较简单实用的。

方法一:

file/import data....../next/finish

>> whos

Name           Size                   Bytes Class

data           5x4                      160 double array

textdata       4x1                      300 cell array

Grand total is 54 elements using 460 bytes

>> data

data =

1          11         111        1111

2          22         222        2222

3          33         333        3333

4          44         444        4444

5          55         555        5555

>> textdata

textdata =

'你好'

'欢迎来到'

'振动论坛'

'vib.hit.edu.cn'

方法二:

[a1,a2,a3,a4]=textread('test1.txt','%s%s%s%s','headerlines',4)

说明:%s可以是其他形式,跟读入的数据类型有关,比如这里也可以用%n,%f等。

这里%s的个数和[a1,a2,a3,a4]对应。

>> [a1,a2,a3,a4]=textread('test1.txt','%s%s%*s%*s')    #    %*s代表省略后两列数据

a1 =

'1'

'2'

'3'

'4'

'5'

a2 =

'11'

'22'

'33'

'44'

'55'

a3 =

'111'

'222'

'333'

'444'

'555'

a4 =

'1111'

'2222'

'3333'

'4444'

'5555'

因以字符串的形式读入,所以有''。

————————————————————————————————

三、中文 数据 英文 混乱如test.txt

你好

1 11 111 1111

欢迎来到

2 22 222 2222

振动论坛

3 33 333 3333

vib.hit.edu.cn

4 44 444 4444

5 55 555 5555

说明:这种内容格式的文件用上面的方法是不行的。

以下是由chinamaker编写的一种方法:

fidin=fopen('test.txt');                               % 打开test2.txt文件

fidout=fopen('mkmatlab.txt','w');                       % 创建MKMATLAB.txt文件

while ~feof(fidin)                                      % 判断是否为文件末尾

tline=fgetl(fidin);                                 % 从文件读行

if double(tline(1))>=48&&double(tline(1))<=57       % 判断首字符是否是数值

fprintf(fidout,'%s\n\n',tline);                  % 如果是数字行,把此行数据写入文件MKMATLAB.txt

continue                                         % 如果是非数字继续下一次循环

end

end

fclose(fidout);

MK=importdata('MKMATLAB.txt');      % 将生成的MKMATLAB.txt文件导入工作空间,变量名为MK,实际上它不显示出来

>> MK

MK =

1          11         111        1111

2          22         222        2222

3          33         333        3333

4          44         444        4444

5          55         555        5555

matlab中如何读写txt,Matlab中读取txt文件的几种方法相关推荐

  1. matlab读取cvs文件的几种方法

    matlab读取CVS文件的几种方法: 1,实用csvread()函数 csvread()函数有三种使用方法: 1.M = csvread('filename') 2.M = csvread('fil ...

  2. 把python tkinter canvas中的图形图像保存为通用格式文件的5种方法

    在计算机上画图未完成,需要保存未完成图形以便以后继续,或者完成画图,要保存为通用格式文件,方便浏览.如使用python tkinter Canvas画图,其好像没有将图像保存通用格式文件的方法,但可以 ...

  3. php远程读取几行文件,PHP读取远程文件的三种方法

    PHP读取远程文件的三种方法 (2008-08-01 14:29:55) 标签: php 下载远程文件 it HP读取远程文件的几种方法,做采集的第一步就是读取远程文件- 1.file_get_con ...

  4. Ruby读取Excel文件的两种方法

    用Ruby读取Excel文件的两种重要方式 1. 通常做法,查阅微软提供的API了,需要包含win32, 在ruby前加入,require 'win32ole' 例如: require 'win32o ...

  5. flash air中读取本地文件的三种方法

    actionscript中读取本地文件操作有两种代码如下 1.使用File和FileStream两个类,FileStream负责读取数据的所以操作:(同步操作) ? 1 2 3 4 5 var str ...

  6. MATLAB笔记:打开数据文件的三种方法+读取数据文件的两种方法+保存数据文件的两种方法

    1.打开数据文件 1.1 直接打开文件 PATHNAME = 'C:\Users\s55\Desktop\dat'; FILENAME = '\data_1.dat'; str0=strcat(PAT ...

  7. C#读取资源文件的两种方法及保存资源文件到本地

    方法1 GetManifestResourceStream VB.NET中资源的名称为:项目默认命名空间.资源文件名 C#中则是:项目命名空间.资源文件所在文件夹名.资源文件名  例如: istr = ...

  8. C#读取资源文件的两种方法

    http://lwl0606.cmszs.com/?p=1021 方法1 GetManifestResourceStream VB.NET中资源的名称为:项目默认命名空间.资源文件名 C#中则是:项目 ...

  9. java读取properties文件_java读取properties文件的几种方法

    一.项目中经常会需要读取配置文件(properties文件),因此读取方法总结如下: 1.通过java.util.Properties读取 1 Properties p=newProperties() ...

  10. PHP读取大文件的几种方法

    场景:PHP读取超大文件,例如1G的日志文件,我这里使用的是400M的access.log文件 1.使用file直接读取 <?php $starttime=microtime_float();i ...

最新文章

  1. 《天气一点通》隐私策略
  2. 使用Angular reactive form发送HTTP请求的一个简单例子
  3. SQL Server 锁升级阈值
  4. 小心点,别被当成垃圾回收了。
  5. 苹果手机咋截屏_才知道,苹果手机轻点2下就能截屏,还支持长截图厉害了
  6. 2021牛气新年素材模板,你真的不来看一看吗?
  7. python 笔记(一)
  8. 特别实用的几种SQL语句送给大家,让你的SQL高大上!
  9. 常见排序算法整理2(C++实现)
  10. vue2项目中给echarts地图设置背景图和打点
  11. 万字详文阐释程序员修炼之道
  12. MacBook连接打印机-惠普HP LaserJet Pro MFP M427fdn 连接方法
  13. word中插入题注 表1 图1
  14. Ubuntu安装谷歌浏览器Chrome
  15. AE效果器(Effect)开发
  16. 解决:索引超出范围。必须为非负值并小于集合大小。
  17. 不使用转换器,DWG转DXF能否快速完成呢?
  18. c++基于ffmpeg实现mp4转flv
  19. 如何创建并签署CAB文件
  20. c语言变量最小作用域范围是,C语言变量的作用域

热门文章

  1. 虚幻四视角移动与场景搭建
  2. 2022年危险化学品经营单位主要负责人考试题模拟考试平台操作
  3. Alpha事后诸葛(团队)
  4. [HARDWARE] ddr、ddr2、ddr3的区别
  5. Android实训课程之三 这次课老师先是提到了Android有四大组件:Activity、Service、Broadcast Receiver、Content Provider。然后重点提到Acti
  6. TortoiseSVN客户端下载及安装
  7. 实战:ingress-nginx 高级配置1-2022.1.5
  8. 2020.11.05 使用OpenCV进行自定义线性滤波 【OpenCV C++ Robert/Sobel/Laplace】
  9. Python缓存提高递归代码性能lru_cache
  10. 预成大器,远离对日外包