Trying to add data pulled from trials subfolders into a table and add a column in that table that labels the data with the trial that is came from

1 次查看(过去 30 天)
I have code right now that after the user selects a file there is are mutiple subfolders labeled with trial numbers. Within the each trial folder is anotehr subfolder "Data" that matlab pulls in as a text file "imudata.txt" and bring it into the workspace as a table.
the file structure is like this
  • pt_01 folder
  • - Trial 1
  • -> Data
  • imudata.txt
  • - Trial 2
  • -> Data
  • imudata.tx
  • - Trial 3
  • -> Data
  • imudata.txt
the code is:
P = uigetdir('C:\user\project1\');
F = fullfile(P,'Trial*','Data','imudata.txt');
S = dir(F);
for k = 1:numel(S)
F = fullfile(S(k).folder,S(k).name);
T = readtable(F); % pick a suitable file importing function and options.
S(k).data = T;
end
I want the data to add all of the data into a table with other data from each trial and have create a colum in the table that labels which trial the data came from. So it looks something like this:
Here is what im thingking so far but im not sure if it is right.
Creating a table with Data from Each Trial
for i= 1:numel(T)
Table = [S(i).data,CDData(i).data]
Trial = i
Table_i= addvars(Table,Trial);
end
Any help is greatly appreciated

采纳的回答

Voss
Voss 2024-2-21
P = uigetdir('C:\user\project1\');
F = fullfile(P,'Trial*','Data','imudata.txt');
S = dir(F);
for k = 1:numel(S)
F = fullfile(S(k).folder,S(k).name);
T = readtable(F);
trial_name = regexp(S(k).folder,'\\(Trial.*)\\','tokens','once');
new_data = repmat(trial_name,size(T,1),1);
T = addvars(T,new_data,'NewVariableNames',{'Trial'},'Before',1);
S(k).data = T;
end
  5 个评论

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Tables 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by