Gestione tabelle, array, index

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.

Potreste aiutarmi?
Grazie

Ciao Luca

Prima domanda:

La tabella x e’ una semplice lista Python ?
O comunque puo’ essere convertita in una lista tramite la funzione list() ?

Ho usato i comandi (come si chiamano?) GH per importare un file csv

e visualizzarlo:

Il comando print type(x) mi restituisce <type ‘str’>

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’. :slight_smile:
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 …

Grazie ad entrambi, ho fatto un mix di soluzioni ed è venuta fuori la mia che ovviamente condivido:

1 Mi Piace

No… ma tu guarda che stai a fa… :rofl: :joy: :rofl: :joy: Bazooka per una mosca.

Una lista può essere composta da stringhe di testo. E così le vede GH.
Semplicissimo suddividere e trovare L’item voluto.

1 Mi Piace

Te possino :rofl:

Quel numero in alto a destra che cosa indica?

??? Quale numerino

Sembra che ad ogni passaggio (GH) si aggiunge uno {0}

È 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.