Импорт данных из нескольких текстовых файлов - PullRequest
0 голосов
/ 19 марта 2019

В настоящее время я работаю над исследованием, в котором данные сохраняются в текстовых файлах для каждого участника. Я ищу способ загрузить все данные из каждого файла в Matlab автоматически. Я нашел много тем о загрузке файлов из нескольких файлов, но я не могу найти способ заставить его работать на меня.

Я хочу загрузить все файлы с именем «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,:);

Это работает для одного файла за раз, но я не могу написать правильный скрипт, чтобы сделать это для каждого файла одновременно. Если вы знаете способ, я был бы рад, если бы вы могли поделиться им.

Приветствия

1 Ответ

0 голосов
/ 19 марта 2019

Используя dir и матричную конкатенацию , вы можете добавить одну строку таблицы в конец другой таблицы:

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);

Это если вы хотитевсе ваши данные хранятся в одной таблице.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...