我目前正在研究一项研究,每个参与者的数据都保存在.txt文件中。我正在寻找一种将每个文件中的所有数据自动加载到matlab中的方法。 我已经找到了许多有关加载Multpile文件的主题,但是我找不到使它适合我的方法。
我想将所有名为“ Log_ *”的文件加载到如下表中:
delim = {')(',') ','(', ' ', ','};
T = readtable('Log_***.txt','Delimiter', delim,'MultipleDelimsAsOne',1);
T = removevars (T, {'Var1', 'Var2', 'Var4', 'Var6', 'Var8', 'Var10', 'Var12','Var14', 'Var16', 'Var18', 'Var26', 'Var27', 'Var31', 'Var36', 'Var40', 'Var45', 'Var47', 'Var49'});
newnames = {'essai', 'DureeEssai', 'azVoulue', 'elVoulu', 'azMesure','elMesure', 'distanceAngulaire', 'diffhorizontale', 'diffElevation', 'x1', 'y1', 'z1', 'x2', 'y2', 'z2', 'posTx', 'posTy', 'postz', 'oriTx', 'oriTy', 'oriTz', 'oriTw', 'posCx', 'posCy', 'posCz', 'oriCx', 'oriCy', 'oriCz','oriCw','distanceAngulaire_oriT_C','az_oriT','el_oriT'};
T.Properties.VariableNames = newnames;
T = T(2:2:end,:);
这一次只能处理一个文件,但是我无法编写适当的脚本来一次完成每个文件。 如果您知道方法,很高兴可以分享。
欢呼
答案 0 :(得分:0)
使用dir和matrix concatenation,您可以将一个表的一行附加到另一个表的末尾:
T = table;
list_of_files = dir(**directory of files**);
for i = 1:length(list_of_files)
filename_to_use = list_of_files(i).name;
U = table;
**read file in and place data into table**
T = [T; U];
clear U;
end
disp(T);
这是如果您要将所有数据存储在一个表中。