linux c 读取txt文件中数据类型,关于matlab中用textread读取txt文件
今天打算跑下程序,突然发现,真的很烂,不会读入数据,简单的Iris.txt一上午都没读进去,在此对matlab中的textread函数做下总结,textscan函数待续。
笔者在此基础上进行运行,修改得到以下内容,希望大家给与补充:
textread基本语法是:
[A,B,C,…] = textread(filename,format)
[A,B,C,…] = textread(filename,format,N)
其中filename就是文件名, format就是要读取的格式,A,B,C就是从文件中读取到的数据。
必须严格遵守用法不可出现data=textread(filename,format,N)的形式
其中括号里面变量的个数必须和format中定义的个数相同。 如果每N行相同格式的数据,可采用[A,B,C,…] = textread(filename,format,N)的语法,读取N次。
_______________________________________________________________________________________
注:textread不用先fopen那个文件,适用于格式统一的txt文件的一次性大批量读取。textread读取某个文件后,下次再用textread读取这个文件时,还是会从文件头开始读取。
________________________________________________________________________________________
例如:
.....................................................................................
例1:无分隔符
mytest.txt
1 2 3 4
5 6 7 8
9 10 11 12
读取:
>>[data1,data2,data3,data4]=textread('mytest.txt','%n%n%n%n');
>>data=[data1 data2 data3 data4]
data =
1 2 3 4
5 6 7 8
9 10 11 12
或者,[data1,data2,data3,data4]=textread(filename,'%n%n%n%n',3);%注意3为读取次数,应该是行数
....................................................................................
例2:有分隔符(逗号,分号...)
myfile.txt 中的内容如下:
1, 2, 3, 4
5, 6, 7, 8
9, 10, 11, 12
读取:
>> [data1,data2,data3,data4]=textread('myfile.txt','%n%n%n%n','delimiter', ',')
>> data=[data1 data2 data3 data4]
data =
1 2 3 4
5 6 7 8
9 10 11 12
这里delimiter是指 指出分隔符,读数据的时候会自动跳过分隔符。
至此应该知道Iris.txt怎么读入了吧。
[data1,data2,data3,data4,data5]=textread('Iris.txt','%f%f%f%f%s','delimiter',',');
需要注意的是,参数位置要和textread函数用法对应
[A,B,C,…] = textread(filename,format,N)也就是filename,format,N三个参数必须在其他参数前面,所以150才会出现在format后
例如:[data1,data2,data3,data4,data5]=textread('Iris.txt','%f%f%f%f%s',150,'delimiter',',');
..............................................................................
例3:有分隔符及首行注释
myfiles.txt 中的内容如下:
% this a comment
1, 2, 3, 4
5, 6, 7, 8
9, 10, 11, 12
>> [data1,data2,data3,data4]=textread('myfiles.txt','%n%n%n%n','delimiter', ',','headerlines', 1);
>> data=[data1 data2 data3 data4]
data =
1 2 3 4
5 6 7 8
9 10 11 12
textread中的headerlines指明了跳过几行,1可自由设定
这里headerlines告诉textread跳过一开始的1行,1可以替换为任意你要跳过的行数。
..............................................................................
例4:针对txt文件不同格式数据的读取
myfile.txt 中的内容如下:
Sally Level1 12.34 45 Yes
读入:
[names, types, x, y, answer] = textread('myfileli4.txt' , '%s %s %f %d %s', 1);
对应格式[A,B,C,…] = textread(filename,format,N)
_________________________________________________________________________________
例4.1: 如果要忽略12.34这个浮点数。
[names, types, y, answer] = textread('myfileli4.txt' , '%s %s %*f %d %s', 1)
%*f 告诉textread跳过一个浮点数。
names =
'Sally'
types =
'Level1'
y =
45
answer =
'Yes'
对于iris.txt如果只想读取数据可用[data1,data2,data3,data4]=textread('Iris.txt','%f %f %f %f %*s',150,'delimiter',',');
____________________________________________________________________________________________
例:4.2 如果要忽略Level,指读取后面的数字,
>> [names, levelnum, x, y, answer] = textread('myfileli4.txt','%s Level%d %f %d %s', 1)
names =
'Sally'
levelnum =
1
x =
12.3400
y =
45
answer =
'Yes'
________________________________________________________________________________________________
..............................................................OK ...............................................
例5: txt中存在空位
myfileli5.txt 中的内容如下
1,2,3,4,,6
7,8,9,,11,12
想用nan替代为空的部分
如下:
>>[data1 data2 data3 data4 data5 data6] = textread('myfileli5.txt','%f%f%f%f%f%f', 'delimiter', ',', 'emptyvalue', NaN)
>> data=[data1 data2 data3 data4 data5 data6];
>> data
data =
1 2 3 4 NaN 6
7 8 9 NaN 11 12
....................................................................................................................
例6: 跳列
myfileli6.txt 中的内容如下
Sally Type1 12.34 45 Yes
Joe Type2 23.54 60 No
Bill Type1 34.90 12 No
如果只想读第一列,其余的跳过
读入:
>> clear
>> [names]=textread('myfileli6.txt','%s%*[^\n]');
>> names
names =
'Sally'
'Joe'
'Bill'
%[^\n] 就是一直读到行尾。
如:
>> [names rest]=textread('myfileli6.txt','%s%[^\n]')
names =
'Sally'
'Joe'
'Bill'
rest =
'Type1 12.34 45 Yes'
'Type2 23.54 60 No'
'Type1 34.90 12 No'
%*[^\n] 就是从当前直接跳到行尾。
% *是一个跳过符号,表示跳过该位
....................................................................................
例7:读入规律格式的数据
myfileli7.txt 中的内容如下
Location;date;discharge
Lobith;1989-01-01;00:00;2801
Lobith;1989-01-02;00:00;2619
读入:
[location year month day hour minute discharge]=textread('myfileli7.txt','%s%f-%f-%f%f:%f%f','headerlines',1,'delimiter',';');
如下:
>> clear
>> [location year month day hour minute discharge]=textread('myfileli7.txt','%s%f-%f-%f%f:%f%f','headerlines',1,'delimiter',';')
location =
'Lobith'
'Lobith'
year =
1989
1989
month =
1
1
day =
1
2
hour =
0
0
minute =
0
0
discharge =
2801
2619
linux c 读取txt文件中数据类型,关于matlab中用textread读取txt文件相关推荐
- Matlab读取txt文件中的数据(使用textread函数)
在使用Matlab处理数据时,我们经常需要读取txt文档,可以使用Matlab中强大的textread函数. 它的基本语法是: [A,B,C,...] = textread(filename,form ...
- 将 a.txt 文件中的单词与 b.txt 文件中的单词交替合并到 c.txt 文件 中
package again;import java.io.*;/* 1.编写一个程序,将 a.txt 文件中的单词与 b.txt 文件中的单词交替合并到 c.txt 文件 中,a.txt 文件中的单词 ...
- 根据条件从txt文件中挑出一些文字并据此修改文件名字
根据条件从txt文件中挑出一些文字并据此修改文件名字 /* ****************************************************** *学习Windows API编 ...
- 把一个文件中的内容,复制到另外一个文件中
# 把一个文件中的内容,复制到另外一个文件中.# 基础目录 BASE_DIR = "E:/python重新学习/python核心编程/文件读写/" # 读取的文件名 READ_FI ...
- python文件中单词的删除_使用python删除文件中的多余单词
嗨,我正在学习Python,出于好奇,我编写了一个程序来删除文件中多余的单词. 我正在比较文件text1.txt中的测试.和'text2.txt',基于text1中的测试,我删除了test2中多余的单 ...
- 使用Python批量实现某一Excel文件中每3行数据存一个Excel文件
点击上方"Python爬虫与数据挖掘",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 远芳侵古道,晴翠接荒城. 大家好, ...
- python从文件中删除某个字符,后保存该文件
从文件中删除某个字符,后保存该文件 原本是用vs全部替换,结果发现文件太多了,将近12000个文件,非常费时间,然后就给他写了个脚本哈哈,比较快4秒就搞定了.代码拿走直接就可以用途. #!/usr/b ...
- 【正则表达式高级day01】正则表达式概述+在一个文件中,查找出itcast开头的语句+在一个文件中,找到含有itcast的语句+在一个文件中,找到邮箱为163或者126的所有邮件地址
文章目录 正则表达式概述 思考 场景1:在一个文件中,查找出itcast开头的语句 场景:在一个文件中,找到含有itcast的语句 场景:在一个文件中,找到邮箱为163或者126的所有邮件地址 正则表 ...
- linux 查看文件中数据类型,Linux下使用file命令确定文件中数据的类型-文件类型...
青年是学习智慧的时期,中年是付诸实践的时期.--卢梭 在Linux系统中查看一个文件之前,要先确定该文件中数据的类型,之后再使用适当的命令或方法打开该文件. 与windows系统不同,在Linux系统 ...
最新文章
- 鸿蒙系统啥时候发布新手机,鸿蒙系统新手机面世还有多远?明年3月发布的华为P40可能搭载...
- 通过QQ或者QQ帮助别人学习Lync汇总
- python编程语言基础
- JavaScript正则表达式
- 信息收集 ——情报分析
- MiniDao支持ID自增主键策略,使用讲解
- Redis的相关命令
- vue 监听对象里的特定数据
- css表示屏幕宽度和高度
- linux中搭建java开发环境
- 调查问卷java源码_2020年Java技术趋势
- vmaware 安装chrome OS 系统教程
- Word 2007书籍排版完全手册
- 计算机组装与维护标准教程(2010-2012版)电子教材,计算机组装与维护标准教程(2015—2018版)...
- 实验一 第1关:从自然数中取3个数进行组合之循环算法
- html动画人物走路,CSS3动画中的steps(),制作人物行走动画
- matlab roundn函数_columns函数的使用方法 matlab中round函数具体用法
- java解析word 波浪线,word页面边框双波浪线
- 华为计算机电话号码魔术,看完这6个操作,我终于相信华为手机真的有魔法!...
- 目前网络环境介绍目前网络环境