matlab 读取txt文件名称

%% 格式化文本的读操作

%只读形式打开txt文件

file_t = fopen('mytxt.txt','r');

%以十进制读取,且读取的数据自动排成一列,排的顺序为:先从第一行左边到第一行右边,然后排第二行

A = fscanf(file_t,'%d');

%关闭文件

fclose(file_t);

%% 使用textscan读取多列数据

file_t = fopen('mytxt.txt','r');

%将原来的两列数据以数组原包(cell)的形式读取,cell共有两个元素

A = textscan(file_t,'%d %d');

%C和上面A一样,D返回位置信息

[C,D] = textscan(file_t,'%d %d');

fclose(file_t);

A{1}            %原包数据的第一个元素对应第一列

A{2}

C

D

%% textread函数读取,现在不常用

%这种形式将每一列分别给A,B

[A,B] = textread('mytxt.txt','%d %d');

A

B

%这种形式将txt文件排成一列赋给C

C = textread('mytxt.txt','%d');

C

%% 忽略标题

file_t = fopen('headline.txt','r');

%忽略掉第一行的标题信息

A = textscan(file_t,'%d %d','HeaderLines',1);

A

%% 使用textscan扫描字符串中的数据

clc

str_1 = 'The number is 1 2 3 4 5';

%首先使用textscan获取第一个前14个字符

[str1,position1] = textscan(str_1,'%14c',1);

str1{:};         %The number is 

position1;       %14

%获取字符串的长度

[temp1,temp2] = size(str_1);

%然后读取后面的数字字符串

str_2 = textscan(str_1(position1+1:temp2),'%9c',1);

%将字符串转化为数值

num = str2num(str_2{1})

%% 格式化文本的写操作

%使用fprintf向文件中写入数据

%写形式打开文件,存在就打开,不存在新创建一个文件开始写

file_1 = fopen('text_w.txt','w');

%以数字形式写入数据

fprintf(file_1,'%d',1225);

%关闭文件,返回0表示关闭成功

fclose(file_1);

%% 每写入一次换行或插入想要的字符

file_1 = fopen('text_w.txt','w');

%\r回车符  \n换行符   这里必须回车换行连用

fprintf(file_1,'%d\r\n',[32;34]);

%每写入一个数字,后加一个空格,多列按列输出

temp = randint(4,2);

fprintf(file_1,'%d ',temp);

fclose(file_1);

%% fprintf在命令空间输出

str_1 = 'Hello! World!';

%这里fid = 1;这时输出换行只需\n就行,%c为输出单个字符,%s为输出字符串

fprintf(1,'%c\n',str_1);

%% 扫描字符串2

clear

clc

str = '1985 112 -10.53';

%将 替换为0

A = find(str == 32);

str(A) = 48;

%下面这这一句相当于+198501120-10.53

%不是你给的+19850112-010.53

str2num(str)

猜你喜欢

转载自blog.csdn.net/zouxiaolv/article/details/81297370
今日推荐