Mi método para ello fue utilizar las funciones de mapeo de campos y conversión de tabla a tabla. Con las asignaciones de campos puede establecer nuevos campos basados en los nombres de los campos de la tabla de entrada.
El siguiente enlace contiene ejemplos de clases de características: http://resources.arcgis.com/en/help/main/10.1/index.html#//018z0000007p000000
Mi código a continuación cambiará todos los campos en una tabla de entrada que comienzan con "All_txt_" a un nuevo nombre. Por ejemplo "All_txt_SomeName" a "SomeName".
import os
import arcpy
table = r"PATH TO INPUT TABLE"
new_tb = r"PATH TO OUTPUT TABLE"
field_mappings = arcpy.FieldMappings() # Create new field mapping object
#Loop through fields. For each field, create a corresponding FieldMap object.
#If the name begins with "ALL_txt_", create a new name.
#Note: "FID and "Shape" are skipped
for field in arcpy.ListFields(table):
if not field.name == "FID" and not field.name == "Shape":
old_name = field.name
#Rename if necessary
if old_name.startswith("All_txt_"):
new_name = old_name.strip("All_txt_")
else:
new_name = old_name
#Create new FieldMap object
new_f = arcpy.FieldMap()
new_f.addInputField(table,old_name) # Specify the input field to use
#Rename output field
new_f_name = new_f.outputField
new_f_name.name = new_name
new_f_name.aliasName = new_name
new_f.outputField = new_f_name
#Add field to FieldMappings object
field_mappings.addFieldMap(new_f)
#Convert table using your created Field Mappings object
arcpy.TableToTable_conversion(table, os.path.dirname(new_tb), os.path.basename(new_tb), field_mapping=field_mappings)
Espero que esto resuelva tu problema.
(Si desea llevar a cabo este proceso en una feature class, basta con especificar la entrada/salida como rutas válidas de feature class y utilizar FeatureClassToFeatureClass_conversion).