how to read a txt file having alphanumeric data and special characters. ? My text file is like this. I tried textread but could not get a result. any suggestion.

7 visualizaciones (últimos 30 días)
1 6:s 6:s 0 0 0 0.11 0 *0.889
2 6:s 6:s 0 0.272 0 0.006 0 *0.722
3 6:s 6:s 0 0.036 0 0 0.001 *0.963
4 6:s 6:s 0 0 0 0 0 *1
5 6:s 6:s 0 0 0 0 0 *1
6 6:s 3:f + 0 0.238 *0.365 0.009 0.033 0.355
7 6:s 5:n + 0 0 0 0 *0.999 0.001
8 6:s 6:s 0 0 0 0 0 *1
  3 comentarios
Muhammad Shoaib
Muhammad Shoaib el 14 de Ag. de 2018
Thanx Jonas, I want the last six columns on output containing only the numeric data.

Iniciar sesión para comentar.

Respuesta aceptada

Stephen23
Stephen23 el 14 de Ag. de 2018
Editada: Stephen23 el 14 de Ag. de 2018
Here is an efficient solution using textscan. The test file is attached (you did not provide us with a sample file).
opt = {'Delimiter',' +*:','MultipleDelimsAsOne',true,'CollectOutput',true};
fmt = ['%*d%*d%*s%*d%*s',repmat('%f',1,6)];
[fid,msg] = fopen('test.txt','rt');
assert(fid>=3,msg)
C = textscan(fid,fmt,opt{:});
fclose(fid);
Which imports that last six columns of numeric data:
>> C{1}
ans =
0.00000 0.00000 0.00000 0.11000 0.00000 0.88900
0.00000 0.27200 0.00000 0.00600 0.00000 0.72200
0.00000 0.03600 0.00000 0.00000 0.00100 0.96300
0.00000 0.00000 0.00000 0.00000 0.00000 1.00000
0.00000 0.00000 0.00000 0.00000 0.00000 1.00000
0.00000 0.23800 0.36500 0.00900 0.03300 0.35500
0.00000 0.00000 0.00000 0.00000 0.99900 0.00100
0.00000 0.00000 0.00000 0.00000 0.00000 1.00000
  4 comentarios
jonas
jonas el 14 de Ag. de 2018
Don't forget to accept the answer so that future readers can see that the issue was resolved.

Iniciar sesión para comentar.

Más respuestas (1)

jonas
jonas el 14 de Ag. de 2018
Editada: jonas el 14 de Ag. de 2018
str=fileread('notes.txt');
str=regexprep(str,'[:+*a-zA-Z]',' ')
opt = {'Delimiter',' ','MultipleDelimsAsOne',true,'CollectOutput',true};
out = textscan(str,'%f%f%f%f%f%f%f%f%f',opt{:})
  7 comentarios
jonas
jonas el 14 de Ag. de 2018
No problem! I'll refrain from deleting this answer as it shows how to use regexprep to clean up a textfile but make sure to accept the other one :)
Stephen23
Stephen23 el 14 de Ag. de 2018
Editada: Stephen23 el 14 de Ag. de 2018
+1 this is a good idea, very useful for complex/unusual file formats. Do not delete!

Iniciar sesión para comentar.

Categorías

Más información sobre Text Data Preparation en Help Center y File Exchange.

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by