1 votos

Error de sintaxis en la expresión de etiqueta

Estoy recibiendo el SyntaxError: sintaxis no válida(cadena, línea 26)(última línea en este caso) cuando estoy tratando de hacer esta expresión etiqueta para su uso en ArcMap. Por lo que puedo ver, todo parece correcto. Creo que las sangrías son correctas y las he probado en varios lugares diferentes para asegurarme. ¿Alguna idea?

def FindLabel ( [SWSID] ):
  import arcpy
  myDataTable = "Muskoka_100miRadial_Combined" #insert data table name
  myComponent = "Muskoka Airport" #insert component name
  myScreeningLevel = "50" #insert exceedance  level
  myQuerySelect = '"SWS_ID"' + " = '" + [SWSID] + "' and " + '"component"' + " like '" + myComponent + "%'"
  myFieldsQuerySelect = "OBJECTID; Tavg_First; Tavg_Last_; Tavg_Perce; SF_First_D; SF_Last_da; SF_Percent; SD_First_D; SD_Last_da; SD_Percent; Rain_First; Rain_Last_; Rain_Perce"
  mySortQuerySelect = "SWSID"
  myText = ""
  mxd = mxd = arcpy.mapping.MapDocument("CURRENT")
    for table in arcpy.mapping.ListTableViews(mxd):
     if table.name == myDataTable:
       rows = arcpy.SearchCursor(table, myQuerySelect, "", myFieldsQuerySelect, mySortQuerySelect)
       myText = "<BOL>" + [SWSID] + "</BOL>\n" + "<ITA>" + myComponent + "</ITA>" + "\n"
       currentState = ""
       for row in rows:
         if currentState != row.OBJECTID:
            currentState = row.OBJECTID
         if float(row.SF_Percent_Comp) <= float(myScreeningLevel):
           myText = myText + str(int(row.Tavg_First)) + ' ' + str(int(row.Tavg_Last_)) + ' ' + str(int(row.Tavg_Perce)) + "</CLR></BOL> " + "\n" + str(int(row.SF_First_D)) + ' ' + str(int(row.SF_Last_da)) + ' ' + str(int(row.SF_Percent)) + "<BOL><CLR red = '255'>" + "\n"+ str(int(row.SD_First_D)) + ' ' + str(int(row.SD_Last_da)) + ' ' + str(int(row.SD_Percent)) + "</CLR></BOL> " + "\n" + str(int(row.Rain_First)) + ' ' + str(int(row.Rain_Last_)) + ' ' + str(int(row.Rain_Perce)) + "</CLR></BOL> " + "\n"
         else:
           myText = myText + str(int(row.Tavg_First)) + ' ' + str(int(row.Tavg_Last_)) + ' ' + str(int(row.Tavg_Perce)) + "</CLR></BOL> " + "\n" + str(int(row.SF_First_D)) + ' ' + str(int(row.SF_Last_da)) + ' ' + str(int(row.SF_Percent)) + "</CLR><BOL>" + "\n"+ str(int(row.SD_First_D)) + ' ' + str(int(row.SD_Last_da)) + ' ' + str(int(row.SD_Percent)) + "</CLR></BOL> " + "\n" + str(int(row.Rain_First)) + ' ' + str(int(row.Rain_Last_)) + ' ' + str(int(row.Rain_Perce)) + "</CLR></BOL> " + "\n" 
       return myText:

2voto

Brownie Puntos 151

Tienes que eliminar los dos puntos de la última línea.

return myText:

debe ser

return myText

No veo nada más que salte a la vista, pero esa es sin duda la causa del error actual que estás viendo.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X