How to read a text file line by line?

Hello
I have a complicated text file,it runs row by row, first clumn is time and the next colum is corresponding acceleration, similarily it has 5 coulns of time and fivi colums of correcpoding acceleration, e.g. is givin below. How can I read this file using a matlab script?
0000 .0495 .0042 .0386 .0085 .0263 .0127 .0262 .0169 .0153
.0211 -.0079 .0254 -.0080 .0296 -.0312 .0338 -.0312 .0380 -.0545
.0423 -.0545 .0465 -.0763 .0507 -.0764 .0549 -.0996 .0592 -.0996
.0634 -.1229
Thank You
Jetson

1 Kommentar

Walter Roberson
Walter Roberson am 9 Apr. 2013
The last line appears to have only one time/acceleration pair. Should that be treated specially? Or do you just want to matrix will times in one column and corresponding accelerations in the other?

Melden Sie sich an, um zu kommentieren.

Antworten (3)

Image Analyst
Image Analyst am 9 Apr. 2013
Bearbeitet: Image Analyst am 9 Apr. 2013

14 Stimmen

Use fgetl(). From the help:
Examples
Read and display the file fgetl.m one line at a time:
fid = fopen('fgetl.m');
tline = fgetl(fid);
while ischar(tline)
disp(tline)
tline = fgetl(fid);
end
fclose(fid);
You might also want to look at the dlmread() function.
Ahmed A. Selman
Ahmed A. Selman am 18 Apr. 2013

0 Stimmen

Try selecting one dimension a time for each line, e.g.,
...
time=fscanf(fID,'%g',[1 1:2:inf]);
acce=fscanf(fID,'%g',[1 2:2:inf]);
...

2 Kommentare

Walter Roberson
Walter Roberson am 18 Apr. 2013
If you read with inf as a size, then you are going to read to end of file, in which case the second fscanf() is not going to have any file to read from.
The size argument of fscanf() can be a scalar or a vector of length 2, but it cannot be a vector with more than 2 element such as [1 1:2:inf]
Jan
Jan am 18 Apr. 2013
@Ahmed: Did you try the code? What do you expect as result of 1:2:inf? It must be a vector with infinite length, which must be stored in an infinitely large memory.
In addition, like Walter has explained already, fscanf reads the file sequentially, such that the idea of importing the variables one after the other does not match the was Matlab works.

Melden Sie sich an, um zu kommentieren.

Ugur CAN KOR
Ugur CAN KOR am 14 Jan. 2018

0 Stimmen

How can I read this file? matlab code?

10 Kommentare

Image Analyst
Image Analyst am 14 Jan. 2018
I'd use fgetl() to read a line, then use sscanf() or textscan() to parse the line.
Ugur CAN KOR
Ugur CAN KOR am 16 Jan. 2018
thanks ,I am trying.
How about this:
fullFileName = fullfile(pwd, 'canakkale.txt')
t = readtable(fullFileName)
GreyHunter
GreyHunter am 6 Okt. 2020
Bearbeitet: GreyHunter am 6 Okt. 2020
How can I pick a specific line which is going to depend on the character?
for example. we have 2 collumns with numbers and one with characters( perhaps names) how you can pick one specific line 1 or more and store the into a matrix?
MANISH R
MANISH R am 22 Sep. 2022
GreyHunter, even i have the same problem. Have you found out?
Image Analyst
Image Analyst am 22 Sep. 2022
Yes, he did. @MANISH R, start your own question and attach your file. In the meantime, check out contains, readlines, and strfind.
Image Analyst
Image Analyst am 22 Sep. 2022
Wow, where did you get that? I mentioned absolutely nothing about you wanting college assignment help and all I did was to ask you to start your own question with your own data so we could give you a customized turnkey solution, and I gave you some pointers to useful functions you might try in the meantime.
He asked for how to read a "complicated" file (presumably one in which readmatrix doesn't work), which is exactly what I showed in my answer. Evidently that is not what you want even though you said you have the same problem. But I'll try to remember not to bother you anymore.
Vipul Kumar
Vipul Kumar am 27 Sep. 2022
@MANISH R What’s with the language buddy. You should start your own question to get a more accurate solution. It may also help others with similar problems as yours and will avoid digression from original topic. Thanks
MANISH R
MANISH R am 28 Sep. 2022
@Image Analyst Sorry about that reply.
MANISH R
MANISH R am 28 Sep. 2022
@Vipul Kumar Thanks.

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Data Import and Export finden Sie in Hilfe-Center und File Exchange

Gefragt:

am 9 Apr. 2013

Kommentiert:

am 28 Sep. 2022

Community Treasure Hunt

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

Start Hunting!

Translated by