Create multiple subtables from multiple .tsv tables
I have 120 .tsv files (see example example in "sub-m0001_file.tsv"). The path is the same for all the files except in the 9th folder. See the paths for the first two .tsv files below:
/f1/f2/f3/f4/f5/f6/f7/f8/sub-m0001/f10/f11/sub-m0001_file.tsv
/f1/f2/f3/f4/f5/f6/f7/f8/sub-m0002/f10/f11/sub-m0002_file.tsv
How can I get subtables (i.e., 1 table per file) including only the following six columns: ‘trans_x’, ‘trans_y’, ‘trans_z’, ‘rot_x’, ‘rot_y’, ‘rot_z’?
The following code does it only for the first .tsv file. Any hint to go recursively over the 120 .tsv files?
mat = dir(‘/f1/f2/f3/f4/f5/f6/f7/f8/sub-m*/f10/f11/*file.tsv’);
for files_i = 1:length(mat)
data = fullfile(mat(files_i).name);
x = readtable(data,"FileType","text",’Delimiter’, ‘t’);
vars = {‘trans_x’ ‘trans_y’ ‘trans_z’ ‘rot_x’ ‘rot_y’ ‘rot_z’};
new_x = x(:,vars);
end
Then, I need to store each file in a folder which filename corresponds to sub-m*. for instance (example sub-m0001_subfile.txt) see:
/new/path/sub-m0001/sub-m0001_subfile.txt
/new/path/sub-m0002/sub-m0002_subfile.txt
Many thanks in advanceI have 120 .tsv files (see example example in "sub-m0001_file.tsv"). The path is the same for all the files except in the 9th folder. See the paths for the first two .tsv files below:
/f1/f2/f3/f4/f5/f6/f7/f8/sub-m0001/f10/f11/sub-m0001_file.tsv
/f1/f2/f3/f4/f5/f6/f7/f8/sub-m0002/f10/f11/sub-m0002_file.tsv
How can I get subtables (i.e., 1 table per file) including only the following six columns: ‘trans_x’, ‘trans_y’, ‘trans_z’, ‘rot_x’, ‘rot_y’, ‘rot_z’?
The following code does it only for the first .tsv file. Any hint to go recursively over the 120 .tsv files?
mat = dir(‘/f1/f2/f3/f4/f5/f6/f7/f8/sub-m*/f10/f11/*file.tsv’);
for files_i = 1:length(mat)
data = fullfile(mat(files_i).name);
x = readtable(data,"FileType","text",’Delimiter’, ‘t’);
vars = {‘trans_x’ ‘trans_y’ ‘trans_z’ ‘rot_x’ ‘rot_y’ ‘rot_z’};
new_x = x(:,vars);
end
Then, I need to store each file in a folder which filename corresponds to sub-m*. for instance (example sub-m0001_subfile.txt) see:
/new/path/sub-m0001/sub-m0001_subfile.txt
/new/path/sub-m0002/sub-m0002_subfile.txt
Many thanks in advance I have 120 .tsv files (see example example in "sub-m0001_file.tsv"). The path is the same for all the files except in the 9th folder. See the paths for the first two .tsv files below:
/f1/f2/f3/f4/f5/f6/f7/f8/sub-m0001/f10/f11/sub-m0001_file.tsv
/f1/f2/f3/f4/f5/f6/f7/f8/sub-m0002/f10/f11/sub-m0002_file.tsv
How can I get subtables (i.e., 1 table per file) including only the following six columns: ‘trans_x’, ‘trans_y’, ‘trans_z’, ‘rot_x’, ‘rot_y’, ‘rot_z’?
The following code does it only for the first .tsv file. Any hint to go recursively over the 120 .tsv files?
mat = dir(‘/f1/f2/f3/f4/f5/f6/f7/f8/sub-m*/f10/f11/*file.tsv’);
for files_i = 1:length(mat)
data = fullfile(mat(files_i).name);
x = readtable(data,"FileType","text",’Delimiter’, ‘t’);
vars = {‘trans_x’ ‘trans_y’ ‘trans_z’ ‘rot_x’ ‘rot_y’ ‘rot_z’};
new_x = x(:,vars);
end
Then, I need to store each file in a folder which filename corresponds to sub-m*. for instance (example sub-m0001_subfile.txt) see:
/new/path/sub-m0001/sub-m0001_subfile.txt
/new/path/sub-m0002/sub-m0002_subfile.txt
Many thanks in advance readtable, .tsv MATLAB Answers — New Questions