Me facilitó una Hoja de cálculo de Excel que tenía las definiciones de los campos de una clase de entidad. Hubo varias hojas de cálculo en el archivo, cada uno que contiene las definiciones de campo para diferentes clases de entidad. Después de un poco de limpieza, me he convertido cada hoja de cálculo a un CSV con las siguientes columnas:
Field_Name
Field_Type
Field_Length
Field_Alias
Cada uno de los archivos CSV había entre 300 y 400 filas, lo que significa que hay que muchos campos (sé que es un montón de campos, pero no es mi esquema de diseño).
Junté un poco de código para procesar los archivos CSV y crear campos para las clases de entidad. Nota, las clases de entidad que ya existe en una geodatabase y los archivos CSV tiene el mismo nombre que la función de las clases.
El siguiente código funciona, pero tarda más de 20 minutos para crear 3 clases de entidad con 300-400 los campos de cada uno.
count = 0
for csv_file in CSVList:
print csv_file
print count
with open(csv_file, 'rb') as csvfile:
reader = csv.reader(csvfile, delimiter = ',')
for line in reader:
field_name = line[0]
field_type = line[1]
field_length = line[2]
field_alias = line[3]
arcpy.AddField_management(FCList[count],field_name, field_type, "","",field_length,field_alias)
count+=1
Es allí una manera más eficiente de crear una clase de entidad a partir de un archivo CSV con las definiciones de campo? O, es arcpy.AddField_management tan bueno como se pone para este tipo de cosas?