Reading in text file using textscan.
    41 views (last 30 days)
  
       Show older comments
    
    Andrew Czeizler
 on 8 Mar 2019
  
    
    
    
    
    Commented: Andrew Czeizler
 on 11 Mar 2019
            Hi All, I need to read a text file into four row vectors named bottleID, date, ph and pressure using textscan.
The file has the following format -

I have made an attempt but I am finding the function textscan quite difficult to use.
My attempt is below -
fileID = fopen('hots_data.txt','r');
format_string = '%n %[{dd-MMM-yyyy}D]%q %d %d';
C = textscan(fileID, format_string, 'delimiter', ' ', 'whitespace', ' ');
fclose(fileID);
Any help would be very much appreciated.
Many thanks,
Best,
Andrew
6 Comments
Accepted Answer
  Stephen23
      
      
 on 10 Mar 2019
        
      Edited: Stephen23
      
      
 on 11 Mar 2019
  
      textscan imports file data into one cell array, the contents of which are one or more arrays (numeric, cell, datetime, etc), where their number of rows depends on the rows imported from the file and their columns depends on the format specifier and options that you used.
textscan does not import into separate variables, or transpose imported data.
"I need to read a text file into four row vectors named bottleID, date, ph and pressure using textscan."
[fid,msg] = fopen('testdata1.txt','rt');
assert(fid>=3,msg)
C = textscan(fid, '%d%{dd-MMM-yyyy}D%f%f', 'Delimiter',' ');
fclose(fid);
bottleID = C{1}.';
date     = C{2}.';
ph       = C{3}.';
pressure = C{4}.';
More Answers (1)
  KSSV
      
      
 on 8 Mar 2019
        Read about readtable. 
T = readtable(myfile) ; 
1 Comment
  Stephen23
      
      
 on 8 Mar 2019
				Andrew Czeizler's "Answer" moved here:
Thank you for your help. The question has requested that I use textscan.
Many thanks,
Best,
Andrew
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!

