Matlab中读取txt文件的几种方法 |
您所在的位置:网站首页 › matlab读取avi文件 › Matlab中读取txt文件的几种方法 |
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))> MK MK = 1 11 111 1111 2 22 222 2222 3 33 333 3333 4 44 444 4444 5 55 555 5555 原文地址http://www.bieryun.com/3236.html |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |