<\/HEAD>
Tengo un script que toma un excel, lo importa como una tabla y luego ejecuta una consulta para obtener las filas necesarias y exportarlas a una nueva tabla. Después de eso, un cursor de búsqueda recorre la tabla y crea una lista de valores. Luego itera a través de la lista de valores y usa los valores como entrada para la cláusula Where para select by attribute para seleccionar el polígono correcto. Ese polígono de permiso se usa luego para seleccionar postes de otra clase de entidad y luego exportar esos postes como una nueva clase de entidad nombrada por el valor usado para seleccionar el polígono de permiso. El problema es pasar el valor de la lista de valores a la cláusula where de la herramienta SelectLayerByAttribute_management. <\/P>
<\/P>
import <\/SPAN>arcpy
import <\/SPAN>datetime
# Variables
<\/SPAN>time = datetime.date.today()
raw = r"C:\Users\BB0322\Desktop\Projects\MRE_Coversheet\KC\MRE_Table.xlsx"
<\/SPAN>mre_table = r"C:\Users\BB0322\Desktop\Projects\MRE_Coversheet\KC\KC_MRE.gdb\MRE_Tb"
<\/SPAN>permits = r"C:\Users\BB0322\Desktop\Projects\MRE_Coversheet\KC\KC_MRE.gdb\Permits"
<\/SPAN>Poles = r"C:\Users\BB0322\Desktop\Projects\MRE_Coversheet\KC\KC_MRE.gdb\Poles"
<\/SPAN>work_table = r"C:\Users\BB0322\Desktop\Projects\MRE_Coversheet\KC\KC_MRE.gdb\MRE_workTB"
<\/SPAN>geoDB = r"C:\Users\BB0322\Desktop\Projects\MRE_Coversheet\KC\KC_MRE.gdb"
<\/SPAN>
<\/SPAN>arcpy.env.workspace = r"C:\Users\BB0322\Desktop\Projects\MRE_Coversheet\KC\KC_MRE.gdb"
<\/SPAN>arcpy.env.overwriteOutput = True
<\/SPAN>
<\/SPAN>
<\/SPAN>try<\/SPAN>:
print<\/SPAN>("Creando Tabla: " <\/SPAN>+ mre_table)
arcpy.ExcelToTable_conversion(raw, <\/SPAN>mre_table, <\/SPAN>"Sheet1"<\/SPAN>)
mre_tview = arcpy.MakeTableView_management(mre_table, <\/SPAN>"MRE_TableView"<\/SPAN>)
arcpy.SelectLayerByAttribute_management(mre_tview, <\/SPAN>"NEW_SELECTION"<\/SPAN>, <\/SPAN>"Ticket_Number IS NOT NULL"<\/SPAN>, None<\/SPAN>)
arcpy.SelectLayerByAttribute_management(mre_tview, <\/SPAN>"REMOVE_FROM_SELECTION"<\/SPAN>, <\/SPAN>"Permit_Name = ' '"<\/SPAN>, None<\/SPAN>)
arcpy.CopyRows_management(mre_tview, <\/span>work_table)
permitview = arcpy.MakeFeatureLayer_management(permits, <\/span>"Permits_Layer")
poleview = arcpy.MakeFeatureLayer_management(Poles, <\/span>"Poles_Layer")
# Creando una lista de nombres de permisos para pasar a select by attributes para las cuadrículas de permisos
AllValues = []
with arcpy.da.SearchCursor(work_table, ("Permit_Name", "Ticket_Number")) as search:
for row in search:
if row[0] not in AllValues:
AllValues.append(row[0])
# iterando a través de la lista y seleccionando un polígono luego usando ese polígono para seleccionar postes ubicados dentro y exportando esos postes en Clases de Entidad individuales
for Value in AllValues:
print(Value)
itsa = "permit_name = {}".format(Value)
print(itsa)
expression = str(itsa)
permitSelect = arcpy.SelectLayerByAttribute_management(permitview, "NEW_SELECTION", expression, None)
permitPoly = arcpy.MakeFeatureLayer_management(permitSelect, "permitPoly_" + Value)
poleSelect = arcpy.SelectLayerByLocation_management(poleview, "INTERSECT", permitPoly, "30 FEET", "NEW_SELECTION", )
arcpy.CopyFeatures_management(poleSelect , </ span > geoDB + " \ " + Value )
except </ span >< spanstyle= " color:# 8888 c 6 ; ">Exception </ span >< spanstyle= " color:# cc 78 32 ; ">as </ span > e :
print ( "ERROR : " + e.args [ 0 ])
< P > El error que estoy recibiendo es : < / P >< P > ERROR : ERROR 000358 : Expresión inválida < BR / > No se pudo ejecutar (SelectLayerByAttribute). < / P >< P >< / P >< P > Gracias por la ayuda. < / P >< / BODY >< / HTML >