यह एक बहुत ही सरल कार्य है लेकिन मैं सही वाक्यविन्यास को नहीं समझ सकता।
मेरे पास एक आकृति है जिसकी विशेषताएं निम्नलिखित के समान हैं:
FID Shape FIELD1 FIELD2 FIELD3 ...
0 Polygon 0 1 0
1 Polygon 3 0 7
2 Polygon 3 4 7
...
खेतों की संख्या और उनके नाम हमेशा अलग होते हैं।
मुझे एक नया फ़ील्ड बनाने की आवश्यकता है (चलो इसे NUM नाम दें), और प्रत्येक पंक्ति में शून्य की संख्या गिनें।
उदाहरण आउटपुट:
FID Shape FIELD1 FIELD2 FIELD3 NUM
0 Polygon 0 1 0 2
1 Polygon 3 0 7 1
2 Polygon 3 4 7 0
मुझे पता है कि एक नया क्षेत्र कैसे बनाया जाता है, हालांकि मैं अगले चरणों पर स्पष्ट नहीं हूं।
काम कोड:
#path is path to shape file
def a(path):
fields = arcpy.ListFields(path,"FID_*") #FID_* is wildcard to select a fields name
arcpy.AddField_management(path, "NUM", "SHORT") #create a field with name NUM
cursor= arcpy.UpdateCursor(path)
for row in cursor:
count=0
for field in fields:
a= row.getValue(field.name) #take a value
if a==0: #if value=0 then value=value+1
count+=1
row.setValue("NUM", count)
cursor.updateRow(row)
del row
del cursor
धन्यवाद blah238 , अब मैं अजगर खा सकता हूं!