pt = 'd:\tem\'; % 文件路径,换成自己位置suf = '_ntxt'; dd = dir([pt '' suf]); dt = [];for k = 1:length(dd) nm = [pt dd(k)name]; tem = load(nm); dt = [dt; tem(1:3)];enddisp(dt)
for i=1:100
s=strcat('c:\matlab7\work\step',int2str(i),'\datatxt')
%dataprocess,产生一组data
fid=fopen(s,'w');
fprintf(fid,'%f',data)
fclose(fid);
end
试试是不是你要的
你的文件名没问题,没有特殊字符,只是load里不能用通配符,必须指定一个文件。如果你有很多这样的文件,可以用f
=
dir('_physicalvaluestxt')flist
=
然后写一个循环,比如for
m
=
1:numel(flist)
load(flist
,'-ascii');
end
1首先选中Excel表格,打开。
2然后在该界面中,选中“格子”里“工作表”里“汇总拆分”按钮。
3再者在面中,选中“汇总大师”选项。
4之后在该界面中,点击左侧“多簿汇总到一表”选项。
clc;clear all;
file = input('要处理的数据文件名:','s');
path = cd();
s1 = dir(path);
[m,n]=size(s1);
for i = 3:m
if s1(i)isdir
s2 = dir([path '/' s1(i)name]);
[p,q]=size(s2);
for j = 3:p
csvfilename = [path '\' s1(i)name '\' s2(j)name '\' file];
fprintf('%s\n',csvfilename);
[d1,Y]=textread(csvfilename,'%d%f%[^\n]','delimiter',',');
Y(find(d1<93000))=[]; %去掉093000之前的数据
matfilename = [s2(j)name 'mat'];
save(matfilename,'Y');
end
end
end
要处理的数据文件名:SH600000CSV
D:\MATLAB\working\2013\201301\20130102\SH600000CSV
D:\MATLAB\working\2013\201301\20130103\SH600000CSV
D:\MATLAB\working\2013\201301\20130104\SH600000CSV
D:\MATLAB\working\2013\201301\20130105\SH600000CSV
D:\MATLAB\working\2013\201301\20130122\SH600000CSV
D:\MATLAB\working\2013\201301\20130131\SH600000CSV
D:\MATLAB\working\2013\201302\20130203\SH600000CSV
D:\MATLAB\working\2013\201302\20130204\SH600000CSV
D:\MATLAB\working\2013\201302\20130205\SH600000CSV
D:\MATLAB\working\2013\201303\20130302\SH600000CSV
D:\MATLAB\working\2013\201303\20130312\SH600000CSV
D:\MATLAB\working\2013\201303\20130331\SH600000CSV
D:\MATLAB\working\2013\201304\20130403\SH600000CSV
D:\MATLAB\working\2013\201304\20130415\SH600000CSV
D:\MATLAB\working\2013\201305\20130503\SH600000CSV
D:\MATLAB\working\2013\201305\20130505\SH600000CSV
D:\MATLAB\working\2013\201306\20130602\SH600000CSV
D:\MATLAB\working\2013\201306\20130631\SH600000CSV
在Windows中,“D:\”表示D盘,“D:”表示目录
还可以查找特定后缀的文件:
如: dir(['fk\','jpg']) 表示查找 fk文件夹下后缀为 ' jpg' 的文件
若 fk 目录下存在后缀为'jpg' 的文件,则返回文件名:
1260500466587jpg 1260500472025jpg 8673601djpg
否则返回: fk\jpg not found
其中dirname是要查找的路径的名字,路径在matlab的搜索路径内时,没有必要输入全名,只输入最后或最后两级就够了。
fopen ('filename', 'mode')
mode格式有:
‘r’:只读方式打开文件(默认的方式),该文件必须已存在。
‘r+’:读写方式打开文件,打开后先读后写。该文件必须已存在。
‘w’:打开后写入数据。该文件已存在则更新;不存在则创建。
‘w+’:读写方式打开文件。先读后写。该文件已存在则更新;不存在则创建。
‘a’:在打开的文件末端添加数据。文件不存在则创建。
‘a+’:打开文件后,先读入数据再添加数据。文件不存在则创建。 如果rt表示该文件以文本方式打开,如果添加的是“b”,则以二进制格式打开,这也是fopen函数默认的打开方式。
Fopen函数两个返回值:
fclose(f)
f为打开文件的标志,若fclose函数返回值为0,则表示成功关闭f标志的文件;若返回值为–1,则表示无法成功关闭该文件。
若要一次关闭打开的所有文件,可以使用下面的命令:fclose all
MATLAB自带的MAT文件为二进制文件,但为了便于和外部程序进行交换以及方便查看文件中的数据,也常常采用文本数据格式(数据采用ASCII码格式,可以表示字母和数字字符)与外界进行数据交换。
函 数 | csvread| dlmread| fscanf| load| textread|
-|-|-
数 据 类 型| 数值数据| 数值数据| 字母和数值| 数值数据| 字母和数值|
分 隔 符| 仅cooma| 任何字符| 任何字符| 仅space| 任何字符|
返 回 值| 1| 1| 1| 1| 多返回值
如: A=load('my_datatxt');
如果想把4列数据全部读取出放在4个变量中,则使用如下命令:
>> [name gra grades answer]=textread('my_examdat','%s %s %f %s')
函 数| csvwrite| diary| dlmwrite| fprintf| save
-|-|-
数 据 类 型| 数值数据| 数值数据或单元阵列| 数值数据| 字母和数值数据| 数值数据
分 隔 符| 逗号| 空格| 任何字符| 任何字符| 制表符或空格符
存写有分隔符的ASCII码数据文件 若要将当前的MATLAB工作空间的一个或多个变量写到一个有分隔符的ASCII码文件中,可以使用save命令或dlmwrite函数。在默认情况下,save命令是以 MAT 格式存写数据的。
作用 | 标志 | 例子
-|-
左对齐 | ' - ' | %-52f
打印符号字符(+或 - ) | '+' | %+52f
插入空格| ' ' | % 52f
垫零 | '0' | %052f
对%o, %x, %X, 打印 0,0x,0X的前缀。
对%f, %e, %E, 打印小数点,即使是0。
对%g, %G,不删除或尾部的零或小数点。 | '#' | %#50f
例: 创建一个2×2的魔方矩阵,然后打开一文件,写入数据。
fseek frewind
设定指针位置重设指针到文件起始位置
ftell feof
获得指针位置测试指针是否在文件结束位置
以上就是关于matlab读取文件名中含有参数的文件全部的内容,包括:matlab读取文件名中含有参数的文件、MATLAB中如何读取一个不知道名称的文件夹、matlab 循环读取文件名带字母的文件等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)