Effacer les filtres
Effacer les filtres

Extract subcell array in a single cell array

4 vues (au cours des 30 derniers jours)
Maurizio
Maurizio le 21 Déc 2011
Hi I have 25000 file txt and I wrote the below code to read all the txt extract all the value and than I will use for some calculation.
The problem is that at the moment I have valC that is composed by 25000cell and each cell is composed by <14x1>cell. I would like to remove one level or extract the 14value of each cell for 25000times in a single 25000x14cell. Is it possible?
fileList = dir('*.txt');
nameFile = cell(1, numel(fileList)); % Pre-allocate!
for i = 1:numel(fileList)
NAME = fileList(i).name; % [EDITED]
nameFile{i} = NAME;
fid = fopen(NAME);
valC(i) = textscan(fid, '%s', 'delimiter', ',');
val = valC;
fclose(fid);
end

Réponse acceptée

Jan
Jan le 21 Déc 2011
fileList = dir('*.txt');
nameFile = {fileList.name}; % Pre-allocate!
data = cell(numel(fileList), 14);
for i = 1:numel(fileList)
fid = fopen(nameFile{i});
valC = textscan(fid, '%s', 'delimiter', ',');
data(i, :) = transpose(valC{1});
fclose(fid);
end
I cannot test this, because I do not have your data files. So please debug this and post, if there are problems.
  2 commentaires
Matt Tearle
Matt Tearle le 21 Déc 2011
Beat me to it. Yes, that.
Maurizio
Maurizio le 21 Déc 2011
FANTASTIC. PERFECT

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Text Data Preparation dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by