Reading in text file using textscan.

조회 수: 117 (최근 30일)
Andrew Czeizler
Andrew Czeizler 2019년 3월 8일
댓글: Andrew Czeizler 2019년 3월 11일
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
Andrew Czeizler
Andrew Czeizler 2019년 3월 8일
I have uploaded the file. Tried a loop technique with no success ......
Totally lost on this one.
Best,
Andrew
Andrew Czeizler
Andrew Czeizler 2019년 3월 10일
편집: Andrew Czeizler 2019년 3월 10일
Hi All,
I was able to get textscan to work, but I cant read it into rows?
Is there a method that I am missing?
Best.
Andrew
fileID = fopen('testdata1.txt','r');
C = textscan(fileID, '%d %{dd-MMM-yyyy}D %f %f', 'Delimiter', ' ');
fclose(fileID);

댓글을 달려면 로그인하십시오.

채택된 답변

Stephen23
Stephen23 2019년 3월 10일
편집: Stephen23 2019년 3월 11일
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}.';
  댓글 수: 1
Andrew Czeizler
Andrew Czeizler 2019년 3월 11일
Thank you Stephen! Legend!
I understand the concepts.
Best,
Andrew

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

KSSV
KSSV 2019년 3월 8일
Read about readtable.
T = readtable(myfile) ;
  댓글 수: 1
Stephen23
Stephen23 2019년 3월 8일
Andrew Czeizler's "Answer" moved here:
Thank you for your help. The question has requested that I use textscan.
Many thanks,
Best,
Andrew

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Data Import and Export에 대해 자세히 알아보기

태그

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by