Read multiple text files as separate matrices

1 view (last 30 days)
I have multiple text files and i want to import each of them as separate data (the number of text files is changing) I have taken some help from the previously asked question and written a small code but i am not being able to import any data. I have attached the text file and the code. I will really appreciate any help i this regard.
input_folder = 'T:New\files';
files = dir(fullfile(input_folder, '*.txt'));
file_paths = fullfile({files.folder}, {});
for i = 1 : numel(file_paths)
format = '%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f';
data = textscan(file_paths{i}, format,'headerlines', 7);

Accepted Answer

Rik on 1 Feb 2021
The textscan function requires either an fid as input, or a character array. Your code doesn't actually read the data from the file, but from the file name.
It will also overwrite the variable data every file.
fadzhi on 1 Feb 2021
Edited: fadzhi on 1 Feb 2021
clear all;
D = 'T:\New\files';
S = dir(fullfile(D, '*.txt'));
N = length(S);
A = cell(N,1);
fmt = '%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f';
% fmt=repmat('%f',1,2);
for k = 1:N
fid = fopen(fullfile(D,S(k).name), 'r');
A(k)= textscan(fid, fmt, 'Delimiter', '\t', ...
'headerlines', 7, ...
'CollectOutput', 1);
Rik on 1 Feb 2021
Glad to be of help.
You should avoid clear all, and use clear or clearvars instead.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!