Йо лучший способ сделать это - использовать Field Mappings. Я боролся с этой функцией программного обеспечения 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)