2015-07-20 1 views
0

Je suis en train d'écrire un script pour ArcMapPython définir le nom de la colonne dans la variable

ce que je veux est

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

mais il ne fonctionne pas. initialement

s = row.Add_FULL #Add_FULL is field column name 

Que puis-je faire pour résoudre ce problème?

+0

ce que vous attendez et ce qui ne fonctionne pas réellement? des erreurs? Quelle est votre sortie actuelle? – Andersson

+0

Erreur d'analyse SyntaxError: syntaxe non valide lorsque j'utilise s = row +. + AddressFieldName et essayé d'autres façons que je pourrais penser mais à peu près même –

+0

S'il vous plaît fournir le journal des erreurs complète (modifier votre question avec l'ajout de journal). Aussi laissez-moi savoir quelle est la méthode 'ADD_FULL' (je ne trouve pas de description dans google) et pourquoi vous définissez' s' de 3 façons différentes: comme chaîne- '" row.ADD_FULL "', comme méthode s'appliquant à 'row' - 's = row.Add_FULL' (quelle est la forme correcte' ADD_FULL' ou 'Add_FULL' ???) et dans une sorte de mystère -' s = row +. + AddressFieldName'? – Andersson

Répondre

0

Je suppose que vous voulez extraire les noms de champs d'une classe d'entités et peut-être aussi les valeurs des champs. Vous pouvez essayer la codesnippet suivante:

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 

De cette façon, vous obtenez tous vos noms de champs dans les « champs » et les données soit par ligne dans « données » ou les toutes les données du featureclass dans « fulldata »