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

a=importdata('*.txt');%%%*为所存的文件名

a1=a.data;%%%文件中的数字

a2=a.textdata;%%%文件中的非数字

matlab对txt文件的处理,先行后列,从遇到第一个数字且该数字所在行在该数字后面的部分全为数字,则该数字列前面的列全作为字符串处理CELL对象,该数字及该行后面数字下面的列作为DOUBLE数字存储.如果一字符串按上述规则该作为数字,且该字符串所在行已经有一列作为数字处理,则将该字符作为NAN,并将以后所有行忽略,如果该字符串所在列为该按数字处理的第一列,则将该行全作字符串处理,并将该行及以下所有行忽略.

第一个有当做数字处理的行上面的列会主动与数字列匹配,如果匹配不完全,就将上面的行当成一个字符串处理.

经过以上处理后的结果存入a中

如:对于 a w 3

4 5 5

3 4 d读进a的数据为a.textdata='a w','4 5';a.data=3 3

对于 a w e

r 5 4

4 5 7 a.textdata={'a' 'w' 'e';'r' ' ' ' ';'4' ' ' ' '};a.data={5 4;5 7}

对于a w e

4 5 6

3 r t   a.textdata='a' 'w' 'e';a.data={4 5 6;3 NaN NaN}

对于a w e

4 5 6

d 3 5 a.textdata='a' 'w' 'e';data=4 5 6

对于a w

4 5 6

5 6 i a.textdata='a w';data={4 5 6;5 6 NaN}

对于a w

4 5

4 5 6 a.textdata='a' 'w ';data={4 5;4 5}

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

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

17.891 -1.1286 33.045

17.884 -1.1345 33.045”

保存在D盘,则可以在command window中输入load D:\test.txt ,然后就会产生一个test的数据文件,内容跟test.txt中的数据一样;另一种方法是在file/import data....../next/finish 也可产生一个叫test的数据文件。command window中输入:a=importdata('D:\test.txt') 按Enter 则显示

二、中英文和数据如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”保存为D:\abc4.txt

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

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

方法一:

a=importdata('D:\abc4.txt');

>> whos

Name           Size                   Bytes Class

data           5x4                      160 double array

textdata       4x1                      300 cell array

Grand total is 54 elements using 460 bytes

>> a1=a.data

a1 =

1          11         111        1111

2          22         222        2222

3          33         333        3333

4          44         444        4444

5          55         555        5555

>>a2=a. textdata

a2 =

'你好'

'欢迎来到'

'振动论坛'

'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','headerlines',4)

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. linux用户读取文件过程,Python中读取写入文件并进行文件与用户交互的操作

    一.提前知识点 在Python中是同样和其他语言一样可以进行文件的读取写入操作,值得注意的是,Python中打开文件读取的方式有几种,分别是以下几种: f = open('username.txt') ...

  2. c++语言读txt数据,关于C++中读取txt文件中字符串 - 程序语言 - 小木虫 - 学术 科研 互动社区...

    #include<iostream> #include<fstream> #include<string> #include<vector> using ...

  3. android 读json文件,在Android中读取json文件

    小编典典 将该文件放入资产中 . 对于在Android Studio项目中创建的项目,您需要在主文件夹下创建资产文件夹. 将该文件读取为: public String loadJSONFromAsse ...

  4. java 从excel中读取数据_在Java中读取Excel文件的内容和导出数据到Excel文件中

    转自www.chianjavaworld.net 原作者:SonyMusic 读:rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr 在Java ...

  5. matlab中读文件的行数_Matlab中读取txt文件的几种方法

    Matlab中读取txt文件的几种方法 一.纯数据文件(没有字母和中文,纯数字) 对于这种txt文档,从matalb中读取就简单多了 例如test.txt文件,内容为"17.901 -1.1 ...

  6. matlab中如何读写txt,Matlab中读取txt文件的几种方法

    Matlab中读取txt文件的几种方法 matlab读取文本文件的几种函数: 1.load--适合读取纯数据文本: 2.importdata--只读取数据,自动省略数据格式前后的字符,超大文件不适合: ...

  7. matlab中取文件名函数,matlab从文件夹名中获取该文件夹下所图像文件名

    matlab从文件夹名中获得该文件夹下所图像文件名 function [s,nameC]=get_FileNameFromFolderPath(path) % 函数调用:[s,nameC]=get_F ...

  8. matlab分析xml文件_如何在Java中读取XML文件(DOM分析器)

    matlab分析xml文件 Today we will learn how to read the XML file in Java. We will also learn how to parse ...

  9. matlab从文件夹名中获得该文件夹下所图像文件名

    function [s,nameC]=get_FileNameFromFolderPath(path) % 函数调用:[s,nameC]=get_FileNameFromFolderPath(path ...

  10. Android从assets和raw中读取txt文件

    方法一.将要读取的txt文件拷贝到Android工程目录下的assets文件夹下 方法二.在res文件夹下新建raw文件夹,将txt拷贝到该目录下 本方法是从assets中读取 /*** 从asset ...

最新文章

  1. Fire Workflow FAQ
  2. 计算机组成和网络考试题,计算机组成原理试题及答案
  3. 抽象类(c++细节篇九)
  4. Jerry的Kubernetes学习笔记
  5. iOS AutoLayout使用技巧
  6. 《红色警戒3》新单位详细介绍:忍者
  7. 关于统计学,几个简单易懂的小故事
  8. Qt5.7+Opencv2.4.9人脸识别(一)项目介绍
  9. Topaz Video Enhance AI(ai视频画质增强软件)官方正式版V2.2.0 | AI视频放大软件下载 | 视频画质怎么变清晰?
  10. html实现字体加边框及填充
  11. WiFiDisplay
  12. 英语的句号在c语言中是什么意思,英语标点符号的用法
  13. UE5 IK重定向并修改人物姿势
  14. Qt笔记(十五)之设置程序图标
  15. 计算机桌面排列,如何进行桌面图标排列 让你的桌面一秒变酷炫【图文教程】...
  16. 苹果cms怎么更换模板教程
  17. 微信开放标签wx-open-launch-app
  18. 什么是时序数据?如何治理?
  19. HRNet语义分割训练及TensorRT部署
  20. lsof的安装及使用

热门文章

  1. recovery介绍
  2. 移动云,中国移动算力网络棋局中的关键一子
  3. 联想电脑快捷键的使用和通用设置
  4. java中float、double和BigDecimal的精度问题(fastjson、Jackson以及实例化的方式)
  5. .NET开发邮件发送功能的全面教程(含邮件组件源码)
  6. 计算机怎样保存文件格式,word文档怎样保存为pdf格式
  7. 路由器的工作原理,形成,转发数据包的过程
  8. pycharm永久激活教程2019
  9. 【软考题目】假设某磁盘的每个磁道划分成11个物理块,每块存放1个逻辑记录。
  10. 科比最新超酷广告《门徒》