Azzera filtri
Azzera filtri

reading text file with multiple rows and columns

11 visualizzazioni (ultimi 30 giorni)
How can i read my text file which has 2-3 lines of unwanted message and then reading of data in this format:
=~=~=~=~=~=~=~=~=~=~=~= PuTTY log 2019.02.26 16:14:15 =~=~=~=~=~=~=~=~=~=~=~=
AS7263 online!
Reading: R[7.39] S[7.65] T[8.28] U[9.98] V[7.27] W[8.66] tempF[93.2]
Reading: R[7.39] S[7.65] T[8.28] U[9.98] V[8.31] W[8.66] tempF[93.2]
Reading: R[7.39] S[7.65] T[8.28] U[9.98] V[8.31] W[8.66] tempF[93.2]
Reading: R[7.39] S[7.65] T[8.28] U[9.98] V[8.31] W[8.66] tempF[93.2]
Reading: R[7.39] S[7.65] T[8.28] U[9.98] V[8.31] W[8.66] tempF[93.2]
Reading: R[7.39] S[7.65] T[8.28] U[9.98] V[7.27] W[8.66] tempF[93.2]
Reading: R[7.39] S[7.65] T[8.28] U[9.98] V[7.27] W[8.66] tempF[93.2]
Reading: R[7.39] S[7.65] T[8.28] U[9.98] V[7.27] W[8.66] tempF[93.2]
I want to extract labels like R,S,T,U,V,W,temp and their respective values.
  2 Commenti
Stephan
Stephan il 28 Feb 2019
Mabe it will help if you attach a sample file
Anjali Acharya
Anjali Acharya il 28 Feb 2019
Hey Stephan here is my sample file.

Accedi per commentare.

Risposta accettata

Andrei Bobrov
Andrei Bobrov il 28 Feb 2019
z = fopen('now1.txt'); c = textscan(z,'%s','delimiter','\n'); fclose(z);
t = regexp(c{:}{3},'\w*(?=\[)','match');
n = regexp(c{:},'(?<=\[)\d+\.\d+(?=\])','match');
out = array2table(str2double(cat(1,n{:})),'V',t);
Here now1.txt - text file with your data.
  2 Commenti
Anjali Acharya
Anjali Acharya il 28 Feb 2019
Hello Andrei ,
it works ,thank you
Anjali Acharya
Anjali Acharya il 28 Feb 2019
Hello Andrei,
For now i have single text file but in future if i take reading for my experiment sample, there will be 100 files inside a folder. Then I will need to loop through each text file and create seperate table for each file.
Is it possible to do this?

Accedi per commentare.

Più risposte (1)

yosun yapar
yosun yapar il 25 Mag 2019
Hi,
when a file contains both a space, and a comma-separated and none value data as appendix,
solutionestimate = textscan(fid,'%s %s %f %s %s %s %s %s %s %f %f %f %f %f %f %f ' ...
, 'Delimiter', {' ',','} , 'MultipleDelimsAsOne', true,);
output does not work correctly. How can I solve this?

Community Treasure Hunt

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

Start Hunting!

Translated by