我试图从3列中选择最大值(和最小值在一个单独的代码块中,未显示)。我试图在我用搜索光标看到的一些工作代码之后对代码建模。arcpy SearchCursor,SQL语句无效
我需要能够访问任何最大值稍后写入文件。
问题是我的SQL表达式在搜索游标中。我尝试了大约5种我能想到的变化,但是没有一种会运行。我对SQL表达式了解不多,但我通常至少可以在ArcMap GUI中正确使用它们。在Python脚本中,它像在黑暗中寻找蛇。
这里是我的代码:
#input shapefile
inputFC = 'C:whatever.shp'
#variable to define the field names
fields = ['Crude_R1', 'Crude_R2', 'Crude_R3', 'STATE_NAME', 'Age_Adj_R1', 'Age_Adj_R2', 'Age_Adj_R3']
CRmax = 0
cursor = arcpy.da.SearchCursor(inputFC, fields[0:2], 'MAX "Crude_R1" AND "Crude_R2" AND "Crude_R3"')
for row in cursor:
print row[0:2]
CRmax = row[0:2]
del row
del cursor
错误消息:
Traceback (most recent call last):
File "C:\whatever.py", line 64, in <module>
for row in cursor:
RuntimeError: An invalid SQL statement was used.
好吧,那么数据是在shapefile的属性表中。我想用SQL来做的是获得表中3列的MAX值。我希望这是一个充分的解释,因为我无法显示数据。不是每列的MAX值,而是全部3个MAX的总和。也许我太吝啬了,我需要更分段地做。我只是不确定如何完成任务。 – geneari 2013-04-10 15:07:17