永发信息网

用Matlab处理文件,一个文件夹中含一万个txt文件(数据格式保存),要求读出文件中的所有数据。

答案:2  悬赏:50  手机版
解决时间 2021-04-14 16:44
  • 提问者网友:夢醒日落
  • 2021-04-14 13:10
txt文件名无明显规则,每次读出一个文件后,处理数据再保存有用信息。
最佳答案
  • 五星知识达人网友:十鸦
  • 2021-04-14 14:19
%假设你的文件名在c盘 叫test.txt
fid=fopen('c:\test.txt');
data=textscan(fid,'%s','delimiter','\n');%把数据按行读入
fclose(fid);%关闭文件
data=data{1,1};
A=textscan(data{1},'%n','delimiter',' ');把第一行按空格为分割赋给A
B=textscan(data{2},'%n','delimiter',' ');同上B
C=textscan(data{3},'%n','delimiter',' ');同上C
A=A{1};B=B{1};C=C{1};把A,B,C由cell转成向量
%这样的话无论这三行分别有多少个数据都可以的。
%程序都是支持的。
全部回答
  • 1楼网友:往事埋风中
  • 2021-04-14 14:32
如果将矩阵写入到excel中,可以使用xlswrtie函数,然后指定你要保存的路径和矩阵即可。 如,你想将矩阵 mmatrix保存到d盘data目录下,可以写成 xlswrite('d:/data/filename', mmatrix); 当然'd:/data/filename',你可以使用相对路径。 分享一个我自己写的一个函数,将矩阵写入到txt文件中的函数 function write_file( filename,source_matrix ) %test summary of this function goes here % write matrix to file fid=fopen(filename,'a'); [x,y]=size(source_matrix); for i=1:x for j=1:y-1 fprintf(fid,'%s\x20',num2str(source_matrix(i,j))); end fprintf(fid,'%s\r\n',num2str(source_matrix(i,y)));%每一行回车\n end fclose(fid); end filename,就是的文件路径和文件名。 source_matrix ,就是你要输出的矩阵。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯