Suite

Comment extraire certaines valeurs d'une table à l'aide de l'outil SearchCursor

Comment extraire certaines valeurs d'une table à l'aide de l'outil SearchCursor


J'essaie d'écrire un script python pour extraire certaines valeurs d'une table : la table à laquelle je fais référence est une grande collection de valeurs de nitrate pour différentes profondeurs d'eau, qui sont déposées dans les colonnes de la table. Comme je n'ai besoin que de la valeur de la surface et du point le plus profond, je souhaite rechercher dans les lignes et extraire la dernière valeur qui n'est pas 0. J'ai commencé à écrire un script à l'aide de l'outil SearchCursor mais je reste bloqué au point où je voulez qu'il recherche la première valeur 0, puis retourne en arrière et imprime la valeur de la colonne avant… Quelqu'un a-t-il une idée de la façon de résoudre ce problème ?

import arcpy # Définir l'espace de travail arcpy.env.workspace = "D:TeresaKerstinSouthernOcean3_workspaceTeresa" # Make table table = "C:/Users/theidema/Desktop/OxzUti_GridP_Annual.csv" #Créer le curseur de recherche curseur = arcpy.SearchCursor(Table) #Itérer dans les lignes row = cursor.next() tandis que row: print (row.getValue(field)) row = cursor.next()

Voici une capture d'écran du tableau (les profondeurs descendent jusqu'à 5500M)


list_of_fields_with_depth = (x.name for x in arcpy.Listfields(Table, "wildcard")) cursor = arcpy.da.SearchCursor(Table, list_of_fields_with_depth) #Itérer à travers les lignes pour la ligne dans les lignes : for i in range(len(list_of_fields_with_depth) )): if ( (row[i] == 0) and (i>0) ): print row[i-1] break else: print "pas de zéro sur cette ligne"