Effacer les filtres
Effacer les filtres

How to read a text file with multiplel matrix data sets listed one after another

1 vue (au cours des 30 derniers jours)
Liqing
Liqing le 18 Août 2011
Below is an example (in the real world, I have hundreds of data sets in a text file):
How do I load the data into Matlab?
Thank you in advance.
  2 commentaires
Walter Roberson
Walter Roberson le 18 Août 2011
It won't let me see that page :(
Liqing
Liqing le 22 Août 2011
Problem fixed. Thanks for letting me know. Now you should be able to download the small txt file.

Connectez-vous pour commenter.

Réponses (3)

Liqing
Liqing le 25 Août 2011
I am still waiting for an answer. Thanks.

Friedrich
Friedrich le 25 Août 2011
Hi,
trz
fid = fopen('sample.txt','r');
out = textscan(fid,'%s %s %s \r\n %f %f %f \r\n %f %f %f \r\n %f %f %f \r\n %f %f %f \r\n');
fclose(fid);
celldisp(out)
It depends on your OS if you have to use \r (MAC) or \n (Unix) or \r\n (Windows)
  2 commentaires
Liqing
Liqing le 25 Août 2011
Thank you very much. It works.
What if I have unknown and different number of matrix rows for each of them?
Walter Roberson
Walter Roberson le 25 Août 2011
textscan by default ignores both \r and \n as being "Whitespace", so you can ignore the terminator issue:
textscan(fid, [repmat('%s',1,3) repmat('%f',1,12)]);

Connectez-vous pour commenter.


Fangjun Jiang
Fangjun Jiang le 25 Août 2011
What is your desired output? Do you care about the text strings? The overall approach is to use textscan(). You can type help textscan or doc textscan for details.
fid=fopen('sample.txt','rt');
data=textscan(fid,'%f','CommentStyle','Depth');
fclose(fid);
data{1}
  4 commentaires
Fangjun Jiang
Fangjun Jiang le 25 Août 2011
You can use fgetl() to read the file line by line. If the line contains comma, read it as string (%s), otherwise, read it as double (%f). There is really no hard part. It's just tedious. If you just have one file to read, it might worth to convert it to a .xls file and then use [Num,Txt,Raw]=xlsread().
Fangjun Jiang
Fangjun Jiang le 25 Août 2011
Here is an example.
http://www.mathworks.com/matlabcentral/answers/13383-how-to-extract-numerical-datafrom-txt-file-with-mixed-string-and-numerical-data

Connectez-vous pour commenter.

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by