यो इसे करने का सबसे अच्छा तरीका फील्ड मैपिंग का उपयोग करना है। मैं सालों से ESRI सॉफ्टवेयर की इस सुविधा से जूझ रहा हूं, लेकिन मैं आखिरकार इस समाधान के साथ संतुष्ट हूं। मूल रूप से, आप बस अपने फ़ीचर क्लास की एक कॉपी बना सकते हैं, जिसमें फ़ील्ड्स को स्थायी रूप से arcpy.FieldMappings का उपयोग करके पुन: व्यवस्थित किया जा सकता है । डेटा के सभी के रूप में अच्छी तरह से किया जाता है। एक बार जब स्क्रिप्ट पूरी हो जाती है, तो अपने पुराने फ़ीचर क्लास का नाम बदलकर myFeatureClass_old, और अपने नए को myFeatureClass कर दें!
यहाँ स्क्रिप्ट है, यह सुपर सीधा है:
import arcpy
'''
This is possible in python using FeatureClasstoFeatureClass with Fieldmappings. You can also rename fields at the same time.
So if you have a Feature Class with FIELD3, FIELD2, FIELD1 and you want the result to be FIELD1, FIELD2, FIELD3 then the following code should accomplish this.
'''
arcpy.env.workspace = r"C:\Users\myself\ArcData\my_geodatabase.gdb"
arcpy.env.overwriteOutput = True
input_fpath = "Lakes"
output_dpath = arcpy.env.workspace
output_fname = "Lakes_new"
fms = arcpy.FieldMappings()
fm = arcpy.FieldMap()
fm.addInputField(input_fpath,"FIELD1")
fms.addFieldMap(fm)
fm = arcpy.FieldMap()
fm.addInputField(input_fpath,"FIELD2")
fms.addFieldMap(fm)
fm = arcpy.FieldMap()
fm.addInputField(input_fpath,"FIELD3")
fms.addFieldMap(fm)
arcpy.conversion.FeatureClassToFeatureClass(input_fpath,output_dpath,output_fname,"",fms)