6

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

8

How about:

val = 2508
newR = ExtractByAttributes(inR, '"IntField">=%d' % val)

Read up on string formatting with python.

0
4

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)

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.