Need help on matlab table
4 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Tanu Shree
le 2 Oct 2020
Réponse apportée : per isakson
le 3 Oct 2020
I have a text file with object name like 'ABC_01.REST.BKP.Blr.RR.nii' and classifier. I want to loop through each object name based on the classifier but dot in file name is creating a problem, Any idea how to handle this?
ABV_0016.REST.blr6.dtAROMA_MNI.nii Controlled
ABV_0017.REST.blr6.dtAROMA_MNI.nii Syndrome 1
ABV_0019.REST.blr6.dtAROMA_MNI.nii Syndrome 2
ABV_0022.REST.blr6.dtAROMA_MNI.nii Syndrome 2
ABV_0030.REST.blr6.dtAROMA_MNI.nii Controlled
3 commentaires
Rik
le 2 Oct 2020
You misunderstood me. The text you posted is not valid Matlab syntax, so what is your exact data?
Réponse acceptée
per isakson
le 3 Oct 2020
Assumption: You have a text file that contains exactly the five lines of text formatted as code in your question.
Run the function cssm as in this example
>> object_names = cssm( 'd:\m\cssm\cssm.txt', 'Controlled' )
object_names =
2×1 cell array
{'ABV_0016.REST.blr6.dtAROMA_MNI.nii'}
{'ABV_0030.REST.blr6.dtAROMA_MNI.nii'}
>>
>> object_names = cssm( 'd:\m\cssm\cssm.txt', 'Syndrome 2' )
object_names =
2×1 cell array
{'ABV_0019.REST.blr6.dtAROMA_MNI.nii'}
{'ABV_0022.REST.blr6.dtAROMA_MNI.nii'}
>>
where
function object_names = cssm( ffs, classifier )
fid = fopen( ffs, 'rt' );
cac = textscan( fid, '%s%[^\n]', 'CollectOutput',true );
[~] = fclose( fid );
cac = strtrim( cac{1} );
is_selected = strcmp( cac(:,2), classifier );
object_names = cac( is_selected, 1 );
end
Comments:
- It's possible to use a loop, but I see no reason to do that.
- How does the dot in the file name create a problem?
- The space in some classifier values requires a special solution. In the function, cssm, I read the first "word" (i.e. the object name) and then the rest of the row to the second column.
- There are other solutions, e.g. using readtable()
0 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Large Files and Big Data dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!