fieldList = gp.listfields(fc) for field in fieldList: try: gp.DeleteField(fc, field.name) except: print "Couldn't delete " + field.name #because it was OBJECTID, SHAPE, SHAPE_AREA, etc.
dsc = gp.describe(fc) keepList = [dsc.oidfieldname, dsc.shapefieldname, "MY_FAV_FIELD", dsc.shapefieldname + "_Length", dsc.shapefieldname + "_Area"] deleteString = "" fieldList = gp.listfields(fc) if field.name not in keepList: deleteString = deleteString + field.name + ";" gp.DeleteField(fc, deleteString[:-1])
oidFld = "OBJECTID;" shpFld = "Shape;" lyrFld = "Layer;" lenFld = "Shape_Length" inputs = "" #returns a list fldList = gp.ListFields(cadToFC) for fld in fldList: [INDENT]#returns a string fldName = fld.name #adds to fieldname string + ";" inputs = inputs + fldName+";" [/INDENT] #a string minus the last ";" delfields = inputs[:-1] gp.addmessage("here is the delFields string: "+ delfileds) if delfields.find(oidFld) != -1: [INDENT]gp.addmessage("found oidfld") delFields.replace(oidFld, "") #EXCECUTION ENDS HERE FOR SOME REASON gp.addmessage("removed oid")[/INDENT] if delfields.find(shpFld) != -1: [INDENT]gp.addmessage("found shpfld") delFields.replace(shpFld, "") gp.addmessage("removed shpfild")[/INDENT] if delfields.find(lyrFld) != -1: [INDENT]gp.addmessage("found lyrfld") delFields.replace(lyrFld, "") gp.addmessage("removed lyrfld")[/INDENT]if delfields.find(lenFld) != -1: [INDENT]gp.addmessage("found lenfld") delFields.replace(lenFld, "") gp.addmessage("removed lyrfld")[/INDENT] gp.addmessage("Edited: " + delfields + "\n")
p.s. I don't see an option to mark question as answered but maybe you can't do that in the new forums?)
dsc = gp.describe(cadToFC) keepList = [dsc.oidfieldname, dsc.shapefieldname, "Layer", dsc.shapefieldname + "_Length", dsc.shapefieldname + "_Area"] deleteString = "" fldList = gp.ListFields(cadToFC) gp.addmessage("got fldList") for fld in fldList: if fld.name not in keepList: gp.addmessage(fld.name+ "...not in keeplist") deleteString = deleteString + fld.name + ";" gp.addmessage("added "+ fld.name +" to deletestring") gp.addmessage("about to delete fields" + "\n") gp.addmessage("deletString looks like this..." + "\n " + deleteString[:-1]) try: gp.DeleteField(cadToFC, deleteString[:-1]) except: gp.addmessage("failed to delete fields")
Aangemelde leden kunnen berichten plaatsen, updates volgen en meer. Nieuw hier? Registreer een gratis account.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.