How to read one number from multiple text files

Hello,
I have been struggeling with finding a way to read 1000 text files into matlab. The text files have letters in them as well, however from every text file I only want one number. I have tried dlmread, that doesnt work. I Have tried fopen, I couldnt figure out how can I specifiy the numer location (which row and couloumn).
I would very much appreciate it if someone knows a way!!

5 Comments

Well, in general the simplest way to do such would be to just read the whole file into MATLAB and then do the selection in memory -- most of the time that will also be the fastest rather than doing partial reads inside the file itself.
To answer for a specific file would need to know what the actual file format is...a smallish sample that illustrates is always best.
Thank you for your answer dpb,
I'm not sure what you excatly mean by doing the selction from memory.
The file format is just a "file" beacuse it is data from another program ANSYS, so there are words specifiying eaach coloumn. Looks something like this if I open it in notepad
Okay, and which one number would you want out of that?
row 5 couloumn 6 --> -7.89296...
That's a trivial file format to read presuming that is the beginning of the file...
data=readmatrix('Yourfilename.txt','NumHeaderLines',1,'Range','E6');
the overhead of the specific element read may/may not be significant; the previous suggestion would have just been
data=readmatrix('Yourfilename.txt','NumHeaderLines',1); % read full data array
data=data(5,6); % keep the wanted data

Sign in to comment.

 Accepted Answer

This is an alternate solution
fileID = fopen('textfile.txt','r');%textfile to be included in the current folder path
formatSpec = '%d %d %d %d';
sizeA = [4 6];%dimensions of the data to be read
A = fscanf(fileID,formatSpec,sizeA);
A=A'
b=A(6,3)% to get the specified number
fclose(fileID);
Refer to below link

2 Comments

You need an initial fgets(fileID) to skip the header line.
What is the reasoning for bothering to take the transpose? Why not omit it and use A(3,6) ?
Thank you for your answers dpb and sindhu. I also agree with Walter regarding the concern on why the transpose?

Sign in to comment.

More Answers (0)

Categories

Find more on Text Analytics Toolbox 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!