将文件的数据读入matlab,对其进行编辑,并将其保存到其他位置

将文件的数据读入matlab,对其进行编辑,并将其保存到其他位置,matlab,Matlab,我有一个名为EXP1_SQ1_Template.txt的文件。它是一个简单的文本文件,包含以下8行: LOAD BOX 1 SUBJ M1_299633_D295158_JUN19@1910_Aut_ERROR2 EXPT St(m)_Se(n)_Rat1 GROUP 1 PROGRAM 1908_SIP_EPHYS_ERROR2_St3_TrainWZ_Cbi (x) LOAD BOX 2 SUBJ M2_297928_D294277_APR19@1910_Aut_ERROR2 EXPT

我有一个名为EXP1_SQ1_Template.txt的文件。它是一个简单的文本文件,包含以下8行:

LOAD BOX  1 SUBJ M1_299633_D295158_JUN19@1910_Aut_ERROR2 EXPT St(m)_Se(n)_Rat1 GROUP 1 PROGRAM 1908_SIP_EPHYS_ERROR2_St3_TrainWZ_Cbi (x)
LOAD BOX  2 SUBJ M2_297928_D294277_APR19@1910_Aut_ERROR2 EXPT St(m)_Se(n)_Rat2 GROUP 2 PROGRAM 1908_SIP_EPHYS_ERROR2_St3_TrainWZ_Cbi (x)
LOAD BOX  3 SUBJ M3_299632_D295158_JUN19@1910_Aut_ERROR2 EXPT St(m)_Se(n)_Rat3 GROUP 1 PROGRAM 1908_SIP_EPHYS_ERROR2_St3_TrainWZ_Cbii (x)
LOAD BOX  4 SUBJ M4_297929_D294277_APR19@1910_Aut_ERROR2 EXPT St(m)_Se(n)_Rat4 GROUP 2 PROGRAM 1908_SIP_EPHYS_ERROR2_St3_TrainWZ_Cbii (x)
LOAD BOX  5 SUBJ F5_299621_D295158_JUN19@1910_Aut_ERROR2 EXPT St(m)_Se(n)_Rat5 GROUP 1 PROGRAM 1908_SIP_EPHYS_ERROR2_St3_TrainWZ_Cbi (x)
LOAD BOX  6 SUBJ F6_297923_D294277_APR19@1910_Aut_ERROR2 EXPT St(m)_Se(n)_Rat6 GROUP 2 PROGRAM 1908_SIP_EPHYS_ERROR2_St3_TrainWZ_Cbi (x)
LOAD BOX  7 SUBJ F7_299626_D295158_JUN19@1910_Aut_ERROR2 EXPT St(m)_Se(n)_Rat7 GROUP 1 PROGRAM 1908_SIP_EPHYS_ERROR2_St3_TrainWZ_Cbii (x)
LOAD BOX  8 SUBJ F8_297924_D294277_APR19@1910_Aut_ERROR2 EXPT St(m)_Se(n)_Rat8 GROUP 2 PROGRAM 1908_SIP_EPHYS_ERROR2_St3_TrainWZ_Cbii (x)
括号中的字母是我希望用户能够更改的变量

这是我写的代码(超级简单):

Mac_temple='EXP1_SQ1_Template.txt';
Mac_数据=cell2mat(导入数据(Mac_模板));
用户输入阶段=输入('输入正确的阶段:');
阶段校正=STREP(Mac数据,“(m)”,用户输入阶段);
用户输入会话=输入('输入正确的会话:');
会话校正=STREP(Mac模板,“(n)”,用户输入会话);
用户输入列表=输入('输入正确的列表:');
列表校正=STREP(Mac数据,“(x)”,用户输入列表);

我运行了代码,但是变量“Mac_Templ”只存储字符串“EXP1_SQ1_Template.txt”,并且每个strrep行只保存输入的数字,而不保存文件本身

以单元格格式保存数据通常会使事情更易于管理。下面的代码基于用户输入重建所有命令字符串

Mac_Templ = 'EXP1_SQ1_Template.txt';
Mac_Data = importdata(Mac_Templ);
user_input_stage = input('Enter correct Stage: ');
user_input_session = input('Enter correct Session: ');
user_input_list = input('Enter correct List: ');

for idx=1:size(Mac_Data,1)
    Mac_Data{idx} = strrep(Mac_Data{idx}, '(m)', num2str(user_input_stage));
    Mac_Data{idx} = strrep(Mac_Data{idx}, '(n)', num2str(user_input_session));
    Mac_Data{idx} = strrep(Mac_Data{idx}, '(x)', num2str(user_input_list)); 
end

% Mac_Data now contains the modified command strings
disp('Done')
disp(Mac_Data)

以单元格格式保存数据通常会使事情更易于管理。下面的代码基于用户输入重建所有命令字符串

Mac_Templ = 'EXP1_SQ1_Template.txt';
Mac_Data = importdata(Mac_Templ);
user_input_stage = input('Enter correct Stage: ');
user_input_session = input('Enter correct Session: ');
user_input_list = input('Enter correct List: ');

for idx=1:size(Mac_Data,1)
    Mac_Data{idx} = strrep(Mac_Data{idx}, '(m)', num2str(user_input_stage));
    Mac_Data{idx} = strrep(Mac_Data{idx}, '(n)', num2str(user_input_session));
    Mac_Data{idx} = strrep(Mac_Data{idx}, '(x)', num2str(user_input_list)); 
end

% Mac_Data now contains the modified command strings
disp('Done')
disp(Mac_Data)