1
我遇到循環內循環的問題。 我希望每個要素類(FC)的腳本都應該循環遍歷「清單」,並在匹配的位置運行函數findfield。 目前該腳本似乎適用於第一個要素類,遍歷覈對清單,但它只是列出了其餘的要素類而沒有檢查清單..任何想法?建議使用csv和函數構造循環
預先感謝您
# Import system modules
import arcpy
import os
import traceback
from arcpy import env
import csv
import sys
#Workspace
arcpy.env.workspace = "SchemaOnly.gdb"
usecsv = open(r'C:\Temp\GV\Final working\Domain and length out.csv','r') #open file
checklist = csv.reader(usecsv) #init csv reader
# function to change schema of featureclass
def FindField(fc,myField):
fieldList = arcpy.ListFields(fc)
for field in fieldList:
if str.lower(str(field.name)) == str.lower(myField):
arcpy.AlterField_management(fc, myField, "", "", "text", new_length, "", "")
print " " + fc + " contains fieldname: " + myField
#Search Feature Datasets
for fds in arcpy.ListDatasets('','feature'):
print "Searching FeatureDataset: " + fds
for fc in arcpy.ListFeatureClasses('','',fds):
print " Searching Featureclass... " + fc
for row in checklist:
#print row[0] #prints fieldname
#print row[1] #prints newlength
myField = row[0]
new_length=row[1]
FindField(fc,myField)