가장 좋은 방법은 필드 매핑을 사용하는 것입니다. 몇 년 동안 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)