Un saluto a tutti i programmatori,
sono un novizio in Python e desidererei fare quanto segue:
data la tabella color celestino, vorrei poter generare l’array che mi esclude la prima riga contente testo e poter prendere il valore ad esempio di delta associato alla quota=1500.
Scusa Don Luca… non vorrei farla semplice ma se è una lista…e da come la vedo organizzata a me sembra una lista… basta usare il componente Cull Index e ammazzi l’index 0.
scusatemi, ma visto che ho esperienza con Matlab solamente, una tabella a mio avviso è una matrice avente la prima riga contenente i nomi delle variabili. Per me una lista era un vettore singolo, ovvero una colonna di una matrice: è così?
La tabella in verde è una matrice 29x5: in python non è una tabella o al più un’array?
L’obiettivo è dare all’utente la possibilità di selezionare una quota con uno slider e tramite python o altro rilasciare ad esempio il corrispondente valore delta, o T/T0,…
@giuseppe Ottenuta la riga relativa alla quota 1500m, come estraggo solo ad esempio il terzo valore?
( Giuseppe giustamente ti da’ delle dritte su come usare i componenti GH.
Io mi limito al Python puro e semplice )
Se ti dice type str, probabilmente e’ un semplice testo, non e’ nemmeno una lista.
In pratica e’ come leggere un file. meglio cosi’.
Visto che i ‘record’ (li chiamo cosi’ …) sono linee di testo separate, io ricaverei una lista con split()
linee = x.split( '\n' )
e poi puoi togliere la prima linea con
linee = linee[ 1 : ]
a questo punto dividerei ogni linea di testo in campi, sempre con split()
e caricherei i valori in un dizionario, usando la quota come chiave.
In modo da avere un dizionario con chiave la quota e con valore la lista degli altri campi.
campi = dict( [] )
for linea in linee:
c = linea.split( ';' )
campi[ c[ 0 ] ] = c[ 1 : ]
adesso puoi interrogare il dizionario usando ad esempio la quota e il nome del campo cercato.
Se inseriamo questi due valori nelle variabili ‘quota’ e ‘campo’,
usando un altro piccolo dizionario per i nomi dei campi, potremmo fare in questo modo,
per ottenere il dato voluto nella variabile valore.
( I nomi dei campi possiamo prenderli dalla prima linea oppure scriverli a mano, qui li scrivo a mano)
nome = { 'T' : 0, 'T/T0' : 1, 'delta' : 2, 'delta^-0.5' : 3 }
valore = campi[ quota ][ nome[ campo ] ]
Occhio … e’ solo un tentativo buttato giu’ in fretta.
E’ tutto da provare.
E naturalmente ci sono molti altri modi di procedere, questo e’ solo il primo a cui ho pensato …
È la “targa” della lista. Se serve si. E ci mancherebbe altro. Sennò sai che casino il data tree. A volte si può semplificare (simplify) e/o manipolare con il path mapper.