Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > it.comp.lang.visual-basic > #18486
| Newsgroups | it.comp.lang.visual-basic |
|---|---|
| Date | 2015-08-28 14:56 -0700 |
| References | <f723c505-d007-4d13-8312-68c4d7f93579@googlegroups.com> |
| Message-ID | <0ad21972-9e08-413e-b141-1df77459589d@googlegroups.com> (permalink) |
| Subject | Re: Parsing di un file di testo |
| From | aren.hoxha@gmail.com |
Forse non sono stato chiaro neache io, comunque grazie per le risposte.
La soluzione Franz non è quello che mi serve, non fa altro che divedere i valori quando a me interessa raggruppare i valori dello stesso canale.
@Sauro La soluzione prevede IF ma io non posso sapere a priori quali e quanti campi ho.
il file è composto in questo modo comunque :
- Questo è l'output della macchina :
13, 28 °C,14, 28 °C,15, 28 °C,22, 27 °C,23, 26 °C,24, 27 °C,33, 26 °C,34, 27 °C,35, 26 °C,36, 27 °C,49, 29 °C,50, 29 °C
51, 29 °C,54, 27 °C,55, 27 °C,56, 27 °C,61, 29 °C,62, 29 °C,63, 29 °C,64, 29 °C,65, 29 °C,66, 29 °C,11,-1.00 bar,18,-0.99 bar
19,-1.00 bar,20,-1.00 bar,21,-0.99 bar,22,-0.99 bar,23,-0.99 bar,25,-1.00 bar,26,-1.00 bar,27,-0.99 bar,28,-1.00 bar,29,-0.99 bar,30,-0.99 bar,31,-0.99 bar
33,-1.00 bar,34,-0.99 bar,35,-0.99 bar,36,-1.00 bar,37,-1.00 bar,38,-0.99 bar,39,-1.00 bar,41,-1.00 bar,42,-0.99 bar,43,-1.00 bar,44,-0.99 bar,45,-1.00 bar
46,-0.99 bar,47,-1.00 bar,65,-1.00 bar,66,-0.99 bar,67,-0.99 bar,68,-0.99 bar,69,-0.99 bar,70,-0.99 bar,71,-0.99 bar,73,-1.00 bar,74,-1.00 bar,75,-0.99 bar
77,-0.99 bar,78,-0.98 bar,81,-0.99 bar,82,-0.99 bar,83,-0.99 bar,84,-1.00 bar,85,-0.99 bar,86,-0.98 bar,87,-0.99 bar,89,-0.99 bar,90,-1.00 bar,91,-1.00 bar
93,-0.99 bar,94,-0.99 bar,,,,,,,,,,,,,,,,,,,,
E' una lettura di tutti i canali. Lo si fa ogni minuto per circa 700 min.
Quindi il file di testo presenta lo stesso pezzo di dati per 700 volte!
La fine di ogni lettura, quindi ogni minuto, è diviso da quella serie di virgole.
La cosa che ho fatto fin'ora è stata creare una matrice a due dimensioni dove ho i salvato le temperature.
In ordine :
1)Leggo la il primo minuto di output per individuare quanti canali unici ho sia di temperatura che di pressione.
2) Ridimensiono gli array di valori temp e pressione con i canali trovati
3) uso InStr per scandagliare tutti i valori e salvo quelli che contengono °C in un array e quelli che contengono bar in un altro, scarto quelli senza niente (sono i canali)
4) Una volta che ho il numero di canali e la totalità di valori, vedo quanti minuti di lettura ho facendo semplicemente la divisione
righetemp = (UBound(arrTemp) / UBound(canaliTemp))
Ridimensiono la matrice in questo modo :
ReDim MatriceTemp(UBound(canaliTemp), righetemp)
dopo popolo la matrice in questo modo :
For n = 1 To UBound(MatriceTemp, 2)
For m = 1 To UBound(MatriceTemp, 1)
i = m + k
MatriceTemp(m, n) = arrTemp(i)
Next
k = i
Next
La soluzione è un pò macchinosa, idee?
Back to it.comp.lang.visual-basic | Previous | Next — Previous in thread | Next in thread | Find similar
Parsing di un file di testo aren.hoxha@gmail.com - 2015-08-27 14:48 -0700
Re: Parsing di un file di testo aren.hoxha@gmail.com - 2015-08-27 15:14 -0700
Re: Parsing di un file di testo mmm <mmm@john.bluto.blutarsky.it> - 2015-08-28 09:48 +0200
Re: Parsing di un file di testo "Sauro" <vicchi@crsscala.it> - 2015-08-28 10:19 +0200
Re: Parsing di un file di testo Franz_aRTiglio <franzgol@N0SPAMtin.it> - 2015-08-28 15:21 +0200
Re: Parsing di un file di testo aren.hoxha@gmail.com - 2015-08-28 14:56 -0700
Re: Parsing di un file di testo Luca D <antaniserse@yahoo.it> - 2015-08-28 15:46 -0700
Re: Parsing di un file di testo Franz_aRTiglio <franzgol@N0SPAMtin.it> - 2015-08-29 14:43 +0200
csiph-web