matlab怎么隔行读取txt,读取TXT文件数据
6.1.3 fscanf函数读出数据
调用方式
A = fscanf(fid, format)
[A,count] = fscanf(fid, format, size)
输入参数
fid 同上
format 同上
size 决定读取多少数据其内容如下。
n表示将n个元素读入一个向量
inf读取到文件结尾,结果是一个向量
[m,n]读取的元素填满m行n列矩阵
输出参数
A 数据变量
count 读取值的个数
下面读出exp.txt文件。
>> fid = fopen('exp.txt',
'r'); % 'r'表示读取文件操作
>> a = fscanf(fid, '%g %g', [2
inf]);
>>fclose(fid)
>> a = a'
>> a
a =
0 1.0000
0.1000 1.1052
0.2000 1.2214
0.3000 1.3499
0.4000 1.4918
0.5000 1.6487
0.6000 1.8221
0.7000 2.0138
0.8000 2.2255
0.9000 2.4596
1.0000 2.7183
6.1.4 从文本文件中读入格式化数据
1.textread函数读取文本文件
MATLAB从文本文件中读取格式化的数据函数是textread。
调用方式
[A,B,C,...] = textread('filename','format')
[A,B,C,...] = textread('filename','format',N)
[...] = textread(...,'param','value',...)
输入参数
'filename' 需要读取的数据文件
'format' 每行各个数据格式
N 读取数据时使用N次。
当调用textread函数时会按照指定的格式从'filename'中读取数据,并将数据分别保存在变量A,B,C中,直到文件内容被读完为止。
下面是读取c:\中的test3.txt文件操作。
>> !type c:\test3.txt
Q1 1 2
Q2 3 4
>> [a1 a2
a3]=textread('c:\test3.txt','%s %f %f')
a1 =
'Q1'
'Q2'
a2 =
1
3
a3 =
2
4
这样文件test3.txt中的每行分别读入变量a1、a2、a3。
2.TextScan函数读取文本数据
对于具有多行文字说明文本数据文件,最好的办法则是用textscan,或者fscanf读取。
调用方式
C = textscan(fid, 'format')
C = textscan(fid, 'format', N)
C = textscan(fid, 'format', param, value, ...)
C= textscan(fid, 'format', N, param, value, ...)
输入参数
fid 为fopen命令返回的文件标识符
format 是一个字符串变量,表示读取数据及数据转换的规则。Format中包含了多种方式,其内容如表6.5所示。
表6.5 format内容
数据转换规则
说 明
%n
读取一个数字并转换为double
%d
读取一个数据并转换为int32
%d8
读取一个数据并转换为int8
%d16
读取一个数据并转换为int16
%d32
读取一个数据并转换为int32
%d64
读取一个数据并转换为int64
%u
读取一个数据并转换为uint32
%u8
读取一个数据并转换为uint8
%u16
读取一个数据并转换为uint16
%u32
读取一个数据并转换为uint32
%u64
读取一个数据并转换为uint64
%f4
读取一个数字并转换为double
%f32
读取一个数字并转换为float
%f64
读取一个数字并转换为double
%s
读取一个字符串
%q
读取一个可以是双引号括着的字符串
%c
读取一个字符,包括空格
%[…]
读取和括号中字符串相匹配的字符。读取操作在首次遇到不匹配的字符和空格时停止。例如%[mus]把summer读成summ
%[^…]
读取和括号中字符串不匹配的字符。读取操作在首次遇到不匹配的字符和空格时停止。例如%[^mus]把summer读成er
Textscan所支持的数字单元宽度声明有两种,具体如表6.6所示。
表6.6 textscan支持的数据读入格式
名称
说明
N
读“ㄐ∈阍谀诘腘个数字或者遇到的分隔符,例如%5f32会把473.238读为473.2
N.D
读“ㄐ∈阍谀诘腘个数字或者遇到的分隔符,返回的数字在小数点后有D位数,例如%7.2f会把473.238读为473.23
下面建立新文件test1.txt,文件前2行是字符串,后三行是数组,首先查看其内容。
>> !type c:\test1.txt
a1
a2
1
2
注意,在Command窗口下键入“!”后就可以直接执行Dos命令
>>file=fopen('c:\test1.txt','r');%打开需要读取的文件
>> str1=textscan(file,'%s',2)
;
>> str1{1}
ans =
'a1'
'a2
如果需要读取第3行、第4行可以执行下面命令。
>> da=textscan(file,'%f',[3 4])
;
>> da{1}
ans =
1
2
由于da是单元数据,下面将其转换为实数型。
>> cell2mat(da)
ans =
1
2
如果数据文件中有间隔符,需要忽略间隔符。
>> type c:\test3.txt
1 , 1 ,
2
32 , 3 , 4
>> tt=fopen('c:\test3.txt');
>>var=textscan(tt,'%f %f %f', 'delimiter', ',') %
忽略‘,’
>> aa=cell2mat(var)
aa =
1 1 2
32 3 4
结束时需要关闭文件
>> fclose(file)
>> !type c:\test2.txt
2 5 3 6
2 3 5
1 9 5 4 6
>> fid=fopen('c:\test2.txt');
>>for i=1:3 ,a{i}=fgets(fid);
end
>>fclose(fid);
6.1.5 带有间隔符的文本数据读写
1.读入带有间隔符的数据文件
有时数据与数据之间带有间隔符,需要跳过这些间隔符,才能读入下一个数据,MATLAB的dlmread函数可以执行此项功能,注意该函数只能读入数据文件,不能读入非数据文件。
调用方式
M = dlmread('filename')
M = dlmread('filename', delimiter)
M = dlmread('filename', delimiter, R, C)
M = dlmread('filename', delimiter, range)
输入参数
'filename' 等待读入的数据文件
delimiter 数据文件中有间隔符,默认的间隔符是逗号。
R、C 读入数据的起始位置
Rang 读入数据的位置,前面两个表示起始的行与列,后面表示数据区域的终止行与列
注意如果数据文件没有间隔符,delimiter可以用' '代替。
例如myfile.txt文件是3阶的魔方阵。
>> !type myfile.txt
8,1,6
3,5,7
4,9,2
下面读入MATLAB的M矩阵
>> M= dlmread('myfile.txt',
',')
M =
8 1 6
3 5 7
4 9 2
如果仅仅读入第三行,可以执行如下命令。
>> M= dlmread('myfile.txt',
',',2,0)
M =
4 9 2
注意数据起始于第0行第0列。
2.写入带有间隔符的数据文件
调用方式
dlmwrite('filename', M)
dlmwrite('filename', M, 'D')
dlmwrite('filename', M, 'D', R, C)
dlmwrite('filename', M, attribute1, value1, attribute2, value2,
...)
dlmwrite('filename', M, '-append')
dlmwrite('filename', M, '-append', attribute-value list)
输入参数
filename 写入数据的文件名
M MATLAB中变量
'D' 间隔符
R 数据起始的行
C 数据起始的列,R=0,C=0表示从第1行第1列开始写入数据
-append' 添加数据操作,否则将删除旧数据
attribute1 属性1
value1 属性1的值。其内容如表6.7所示。
表6.7
dlmwrite函数属性的内容
属性
内容
delimiter
间隔符
roffset
新老数据间隔行数
coffset
新老数据间隔列数
precision
数据精度,如'%10.5f'
下面将3阶魔方阵写入文件myfile.txt中。
>> M=magic(3);
>> dlmwrite('myfile.txt', M,
'delimiter', '\t', 'precision', 6)
>> !type myfile.txt
8 1 6
3 5 7
4 9 2
如果需要空一行后添加再新数据,可以键入如下命令。
>> dlmwrite('myfile.txt', M,
'delimiter', '\t','roffset',1,'-append')
>> !type myfile.txt
8 1 6
3 5 7
4 9 2
8 1 6
3 5 7
4 9 2
如果保留2位小数。
>> dlmwrite('myfile.txt', M,
'delimiter', ',', 'precision', '%1.2f');
>> type myfile.txt
8.00,1.00,6.00
3.00,5.00,7.00
4.00,9.00,2.00
matlab怎么隔行读取txt,读取TXT文件数据相关推荐
- ajax读取文件数据,Ajax 实现读取 properties 格式资源文件数据
Ajax 的核心是 JavaScript 对象 XmlHttpRequest.该对象在 Internet Explorer 5 中首次引入,它是一种支持异步请求的技术.简而言之,XmlHttpRequ ...
- Android读取assets目录下文件数据内容
Android读取assets目录下文件数据内容 Android的体系架构设计中,assets目录下的数据内容(图片.文件等等)将不会被Android系统压缩.二次处理等,assets目录下的文件 ...
- PHP读取超大的excel文件数据的方案
场景和痛点 说明 今天因为一个老同学找我,说自己公司的物流业务都是现在用excel处理,按月因为数据量大,一个excel差不多有百万数据,文件有接近100M,打开和搜索就相当的慢 联想到场景:要导入数 ...
- sex 无需下载_js读取本地json格式文件数据的几种实现方法,内有vue读取json示例代码。...
方法一:通过getJSON实现 getJSON是jquery提供的读取json格式文件的方法 首先我们将html中引入jquery,可以通过百度CDN引入,代码如下: 然后就可以在script中使用g ...
- matlab 导入/制作/导出 STK .tle卫星文件/数据(直接/间接,好几种方法)
导入/制作/导出卫星tle文件 整理: 代码: 整理: 1.在STK help中的 inFrance Help里的core code 里 能够导入的文件只有.a文件 2.导出.tle文件参考拜火老师的 ...
- 读取Assets中的文件数据
首先在assets文件夹中新建一个text.text文件用来读取 读取文件代码如下: import java.io.BufferedReader; import java.io.IOException ...
- pandas库读取多个excel文件数据并进行筛选合并处理后导入到新表格中
一.说明: 通过pandas库解决生活中的实际问题,关键词:pandas:Series/DataFrame 实际场景: ①前几日家中的服装店部分库存需要补货,店长向厂家下了部分订单: ②几日后到了一批 ...
- matlab读取TXT文件数据,二进制文件数据
1. maltab自带工具 选择数据文件后 可以看到如下界面 可以根据实际选择分隔符,一般是空格或者逗号 有些第一行还有变量名,所以一般舍去第一行等 最后点击导入所选内容即可 优缺点 不能打开太大的文 ...
- python 如何使用 pandas 在 flask web 网页中分页显示 csv 文件数据
目录 一.实战场景 二.知识点 python 基础语法 python 文件读写 python 分页 pandas 数据处理 flask web 框架 jinja 模版 三.菜鸟实战 初始化 Flask ...
- matlab 读取txt文件数据
文件操作是一种重要的输入输出方式,即从数据文件读取数据或将结果写入数据文件.MATLAB提供了一系列低层输入输出函数,专门用于文件操作. 1.文件的打开与关闭 1)打开文件 在读写文件之前,必须先用f ...
最新文章
- WebRTC端点检测使用中遇到的部分问题汇总
- http error code
- PHP+JS动态显示当前时间
- 2016年第七届蓝桥杯C/C++ B组国赛 —— 第一题:一步之遥
- Chrome firefox ie等浏览器空格nbsp;宽度不一样怎么办
- mysql存储过程 简书_MySQL存储过程
- python计算AA制时砍价后大家需要分摊的钱
- hibernate简单入门教程(四)---------关联映射
- android 微信地址选择,安卓微信位置实时修改
- 简要分析VB6.0和VB.NET区别
- 移动终端浏览器初始设置apple-mobile-web-app-capable(转)
- CSS3 SVG 画一个三角形
- 汉堡按钮的制作以及其中的问题
- AD20 PCB导出Gerber、拼板,华秋DFM一键拼板,同理支持其他PCB EDA软件的Gerber导入与拼板
- 西湖大学人工智能与生物医学影像实验室招聘科研助理及博士后
- html长图转换成pdf,iOS将HTML页面转换成PDF文件保存到本地并分享传输文件
- 桌面ICON的红图标
- dya50 javascript
- Macos下的docker安装目录在哪?
- MyLinearLayout 之 初级学习经验