%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Author: Kawhi Ray
% Date: 2020/3/29
% Version: 1st
%####################
% File description:
% 将实验过程中所保存的所有.txt文件,按照对应子实验,依次读取并保存到同一个.xls/.xlsx文件的不同工作表内【以方便后续的统一处理】
%********************** Attention【1】!!!!!!!!!! **********************
% 将实验过程中所有采集到的.txt文件,全部复制并保存在当前文件夹目录下
%********************** Attention【2】!!!!!!!!!! **********************
% 所有.txt文件的命名必须对应子实验过程,按照升序保存【便于使用dir函数对当前文件夹中的所有txt文件进行批量处理】
% e.g.
% 子实验"1"对应的实验结果保存在"Experimental_1.txt"文件中
% 子实验"2"对应的实验结果保存在"Experimental_2.txt"文件中
% |
% \|/
% 子实验"100"对应的实验结果保存在"Experimental_100.txt"文件中
% 【后面的数字编号必须按照升序排列】
%**********************************************************************
%####################
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% 程序主体
% 将当前文件夹中的所有.txt文件依次存入同一个xls/xlsx文件中的不同的sheet中
FN1='Experimental_'; %所有.txt文件名主体//完全相同的名称部分//文件名称修改时此处对应修改!!!!!
file=dir('D:\Backup\我的文档\MATLAB\shujuchuli_2020\*.txt'); %获得绝对路径下的所有.txt文件的属性
Ntxt=length(file); %对当前文件中包含的.txt文件的数目进行统计
Sheet='Sheet'; %定义字符变量Sheet/sheet(只能为两者之一),为将各.txt文件的内容写入同一xls/xlsx文件的不同sheet文件做准备
for i=1:Ntxt
FN2=[num2str(i) '.txt']; %所有.txt文件名从体//升序排列的数字编号
FN=strcat(FN1,FN2); %合成.txt文件名
TEMP=dlmread(['D:\Backup\我的文档\MATLAB\shujuchuli_2020\',FN],' '); %依据文件名将.txt文件中的内容赋给变量
num=num2str(i); %数值转字符串
gzb{i}=strcat(Sheet,num); %字符串拼接,构建工作表名称Sheet1\Sheet2\Sheet3......
xlswrite('Experimental_data.xlsx',TEMP,gzb{i},'A1'); %将.txt文件中的数据放入对应的工作表中(所有工作表隶属于同一个xls/xlsx文件)
end
% ***程序运行结束后会生成名为"Experimental_data.xlsx"的Excel文件,其中包含了整个实验过程中所有子实验结果,各工作表对应各子实验的实验结果***
注:
1. 以上子实验的文件名可以按照自己的设定自行修改 [注意同时修改字符变量FN1 !!!!! ],但后面的数字编号必须按照升序排列!当然也可以降序排列【使用递减循环即可】
2. 文件的绝对路径按照各自matlab的路径自行设定即可!
3. 输出的Excel文件名可按照自己的设定自行修改!
以上程序只是鄙人的一种方法,执行效率会因为.txt文件的数目及其内部数据量的多少而存在差异。方法的不足之处,还请各路大神不吝赐教!大家互相学习交流!
本文介绍如何使用MATLAB将多个.txt文件内容导入到同一个Excel文件的独立Sheet中,涉及文件命名规则、路径设定及Excel输出名称的自定义。程序执行效率可能因文件数量和数据量而异,欢迎交流学习。

4513

被折叠的 条评论
为什么被折叠?



