2015-07-20 68 views
0

定义的列名我正在写一个剧本ArcMap中Python的变量

我要的是

rows = arcpy.UpdateCursor(featureClass) #open a cursor from data source 
row = rows.next() 
AddressFieldName = "row.ADD_FULL" 
while row: 
    s = AddressFieldName 

,但它不工作。 原来

s = row.Add_FULL #Add_FULL is field column name 

我该怎么做才能解决这个问题?

+0

你期望什么,什么实际上不起作用?任何错误?你目前的输出是什么? – Andersson

+0

解析错误SyntaxError:当我使用s = row +时,语法无效。 +地址字段名称,尝试其他方式,我可以想到但约 –

+0

请提供完整的错误日志(编辑您的问题与添加日志)。也让我知道什么是'ADD_FULL'方法(我无法在google中找到描述)以及为什么以3种不同的方式定义's':作为字符串''row.ADD_FULL'', - 's = row.Add_FULL'(什么是正确的形式'ADD_FULL'或'Add_FULL' ???)以某种神秘的方式 - s = row +。 + AddressFieldName'? – Andersson

回答

0

我猜你确实想提取一个Feature类的字段名称,也可能是字段值。你可以尝试以下codesnippet:

rows = arcpy.SearchCursor(sourceFeatureClass) 
fields = arcpy.ListFields(sourceFeatureClass) 
fieldnames = "" 
for field in fields: 
    fieldnames += field.name 
fulldata="" 
for row in rows: 
    data = "" 
    for field in fields: 
     data += row.getValue(field.name) 
    fulldata += data 

这样,你得到所有的字段名在“田”和数据无论是每行中的“数据”或“fulldata”中的要素类的所有数据