Delimiting a text file like "Text to columns"
5 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hello, I am trying to import data from a Text file (.txt). This data has a single column of mixed (numeric and string) data that is | (bar) delimited. My goal is to import this data and seperate each delimited portion into a seperate columns while maintaining the rows. Essentially, I am trying to do the Excel "Text to columns" with MATLAB. Thank you
0 commentaires
Réponse acceptée
Walter Roberson
le 14 Sep 2011
%open file
fid = fopen(YourFile,'rt');
%figure out how many columns are there
firstline = fgetl(fid);
ncol = 1 + sum(firstline == '|');
%reset to beginning of file
fseek(fid,0,0);
%read data
indata = textscan(fid,repmat('%s',1,ncol),'Delimiter','|','CollectOutput',1);
%close file
fclose(fid);
The result will be indata, a cell array of strings.
4 commentaires
Walter Roberson
le 15 Sep 2011
indata{L,C} will be the string that was on line #L at column #C
For example, indata{3,7} is column 7 of line 3.
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur String Parsing 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!