how to read data and put them into separate line?
2 views (last 30 days)
Show older comments
Hello I read a file with the
Training=fscanf(fileid,'%c %c%c %c\n'); command.
But why dont enter a new row to read the next line and place the entire file in a character? What should I do to separate the row into a row and in a separate row?
EDIT: f moradi's "Answer" moved here:
my file Inside zip file. I write this code. but I want separete lines.
fileid=fopen ('C:\Users\f\Documents\MATLAB\me\noisy_train.ssv');
Training=fscanf(fileid,'%c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c %c\n');
7 Comments
dpb
on 21 Jun 2018
OK, that helps.
Are the lengths of the records known a priori or do you have to figure that out? If known, it's trivial making use of that, otherwise you needs must read in a way to count records to shape the output in the array.
Accepted Answer
dpb
on 21 Jun 2018
In that case (known record length)
>> L=23; % define record length
>> fmt=repmat('%c',1,L); % format string given length
>> fid=fopen('train.txt');
>> data=cell2mat(textscan(fid,fmt,'collectoutput',1)) % read the file
data =
14×23 char array
'1fyyfffcbpebkkbppwolhyg'
'1fsbtffcbptbfswwpwophvg'
'0fyetnfcbutbsspwpwopkvd'
'1fyyfffcbpebkkbbpwolhvd'
'0fygtnfcbutbssggpwopnvd'
'0bywtlfcbkecsswwpwopnnm'
'0fyetnfcbutbsswgpwopnyd'
'0fswfnfwbhtesswwpwoensg'
'0xswfnfwbntefswwpwoensg'
'0xfgfnfcnneesswwpwopkyu'
'1xygfffcbgebkknppwolhvd'
'1xfgfffcbhebkkbppwolhyp'
'1xfgfffcbpebkknbpwolhyd'
'0xyntnfcbwtbssgwpwopnyd'
>> fid=fclose(fid);
More Answers (0)
See Also
Categories
Find more on String Parsing in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!