I'm trying to include an integer variable in the SQL where-clause of a tool like this (ArcGIS 10 Python script):
newR = ExtractByAttributes(inR, '"IntField">=2508')
where inR is an integer raster, IntField is an integer field in its attribute table.
The above works, but how can I substitute an integer variable instead of 2508?
I've tried all kinds of different quotes and concatenation, but have not been able to.
2 Answers 2
How about:
val = 2508
newR = ExtractByAttributes(inR, '"IntField">=%d' % val)
I have found ArcGIS to be very finnicky when it comes to multiple parameters. For example, use of double quotes tends to signify the end of a parameter. One method I use is string concatenation after changing the variable to a string.
intstr = str(intvar) #Converts integer variable to a string
newR = ExtractByAttributes(inR, "IntField>= "+intstr)