textscan - multiple format lines

3 visualizaciones (últimos 30 días)
Vahideh Ansari Hosseinzadeh
Vahideh Ansari Hosseinzadeh el 4 de Ag. de 2021
Comentada: Rik el 4 de Ag. de 2021
I have a txt file with these data:
Dose Cycle = 1
Dosing Time (ms) = 57
Start Pressure (psi) = 0.00
End Pressure (psi) = 0.05
Battery Start Voltage (mV) = 10
Battery End Voltage (mV) = 110
I want to read this file and extract these info.
fid = fopen('nums1.txt');
C = textscan(fid, '%s %s %s %s %s %f\n');
But each line has different fromat, how can I do this for each line?
Can anyone offer any suggestions.
Thanks!

Respuesta aceptada

Rik
Rik el 4 de Ag. de 2021
Editada: Rik el 4 de Ag. de 2021
It looks like the same format to me. Why not read as text, split on the = and use str2double on the last column?
To read your file to a cell array you can use my |readfile| function link. If you're on R2020b or later you can use readlines instead (which will return a string vector, but split will still work).
txt={'Dose Cycle = 1'
'Dosing Time (ms) = 57'
'Start Pressure (psi) = 0.00 '
'End Pressure (psi) = 0.05 '
'Battery Start Voltage (mV) = 10'
'Battery End Voltage (mV) = 110'};
res=split(txt,'=')
res = 6×2 cell array
{'Dose Cycle ' } {'→ 1' } {'Dosing Time (ms) ' } {'→57' } {'Start Pressure (psi) '} {'→ 0.00 '} {'End Pressure (psi) '} {'→ 0.05 '} {'Battery Start Voltage (mV) '} {'→ 10' } {'Battery End Voltage (mV) '} {'→ 110' }
str2double(res(:,2))
ans = 6×1
1.0000 57.0000 0 0.0500 10.0000 110.0000
  2 comentarios
Vahideh Ansari Hosseinzadeh
Vahideh Ansari Hosseinzadeh el 4 de Ag. de 2021
Editada: Vahideh Ansari Hosseinzadeh el 4 de Ag. de 2021
Thanks for your reply. Is it possible to use MATLAb built-in function? Because I have some headers, several blocks in txt file, that I'm going to work on.
Rik
Rik el 4 de Ag. de 2021
readlines is builtin, and it is easy to download my readfile function (on R2017a and newer you can even use the AddOn Manager).
So I don't know if I fully understand what your problem is with my suggestion.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Energy Production en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by