Could someone please explain to me how to take characters from a text file and put it in MATLAB?
2 views (last 30 days)
Show older comments
Tony Pate
on 7 Jun 2016
Commented: James Chukwuemeka Agada
on 28 Apr 2020
So I've tried using fscanf and sscanf to take a group of words and numbers and put them into a cell array. An example of what I want in the array is "Wind data AA0, #2". I am new to MATLAB, so I've had problems getting the words I see in my text file to MATLAB using the right code. Could someone give me an example of how this is done? My attempt:
>> fileid = fopen('myfile.txt');
>> a = fscanf(fileid,'%g %g',[35 inf]) % I need only to row 35 % don't understand "%g" part
>> a = a'; % I saw that I might need to transpose it
>> fclose(fid)
5 Comments
per isakson
on 8 Jun 2016
Edited: per isakson
on 8 Jun 2016
The file, MLsensLiftStartexample.txt, is uploaded twice. The two copies are identical(?). It contains 13 rows and the longest is 7060 bytes. It's tab delimited. It contains 1(row header) + 72(data) columns.
 
- "I need to create a structure array"   Structure field names may be created based on the row headers in the first column. (Alternatively, the row headers may be used as key values of a containers.Map object.)
- I imagine that you want a scalar, a <1x1 struct>, structure. However, a <1x72 struct> is an alternative.
- "individual names and be easily seen"   asks for a table object.
Describe the structure you want.
Accepted Answer
Stephen23
on 8 Jun 2016
This code will read in the whole file (well, it works on your sample file):
fid = fopen('MLsensLiftStartexample.txt','rt');
hdr = fgetl(fid);
txt = fgetl(fid);
pos = ftell(fid);
N = numel(regexp(fgetl(fid),'[^\t]+','match'));
fmt = repmat('%s',1,N);
fseek(fid,pos,'bof');
C = textscan(fid,fmt,'Delimiter','\t');
fclose(fid);
C = horzcat(C{:});
N = str2double(C);
Have a look at the variable C: all of the data is there, and the equivalent numeric in N (where appropriate).
1 Comment
James Chukwuemeka Agada
on 28 Apr 2020
Would this be able to work with a gcode text file?
Trying to extract the X Y Z I J values from it
attached the txt file
More Answers (0)
See Also
Categories
Find more on Text Files 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!