<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: rename fields during export - fieldmappings in Python Questions</title>
    <link>https://community.esri.com/t5/python-questions/rename-fields-during-export-fieldmappings/m-p/119203#M9386</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Stuck for a long time, solved after few hours after posting into forum &lt;IMG src="https://community.esri.com/legacyfs/online/emoticons/happy.png" /&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Two adjustments:&lt;/P&gt;&lt;P&gt;- index and replaceFieldMap&lt;/P&gt;&lt;P&gt;- new "instance" of output field object&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;import arcpy

# input geodatabase
gdb=r"C:\Temp\EXPORT\export.gdb"
# output folder
folder=r"C:\Temp\EXPORT"

# dictionary - string in old name defines new name
fldsNamesDict={'String1':'NewName1','String2':'NewName2','String3':'NewName3','String4':'NewName4'}
# list of strings
fldsNames=list(fldsNamesDict.keys())

arcpy.env.workspace=gdb
fcs=arcpy.ListFeatureClasses()
# loop over feature classes
for fc in fcs:
&amp;nbsp;&amp;nbsp;&amp;nbsp; # new fieldmappings object
&amp;nbsp;&amp;nbsp;&amp;nbsp; fieldmappings=arcpy.FieldMappings()
&amp;nbsp;&amp;nbsp;&amp;nbsp; # load input fc to fieldmappings object
&amp;nbsp;&amp;nbsp;&amp;nbsp; fieldmappings.addTable(fc)
&amp;nbsp;&amp;nbsp;&amp;nbsp; # fields of input fc
&amp;nbsp;&amp;nbsp;&amp;nbsp; flds=fieldmappings.fieldMappings
&amp;nbsp;&amp;nbsp;&amp;nbsp; # INDEX
&amp;nbsp;&amp;nbsp;&amp;nbsp; i=0
&amp;nbsp;&amp;nbsp;&amp;nbsp; # loop over fields
&amp;nbsp;&amp;nbsp;&amp;nbsp; for fld in flds:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # loop - which string from dictionary is in old field name? what will be new name?
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for fldName in fldsNames:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if fldName in fld.getInputFieldName(0):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # SET NEW FIELD NAME
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; of=fld.outputField
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; of.name=fldsNamesDict[fldName]
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fld.outputField=of
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # REPLACE FIELDMAP
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fieldmappings.replaceFieldMap (i, fld)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # INCREASING INDEX
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; i=i+1
&amp;nbsp;&amp;nbsp;&amp;nbsp; # export fc to shp using field mapping with new fields names
&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.FeatureClassToFeatureClass_conversion(fc,folder,fc+".shp","",fieldmappings)&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sat, 11 Dec 2021 06:57:58 GMT</pubDate>
    <dc:creator>J_B__K_</dc:creator>
    <dc:date>2021-12-11T06:57:58Z</dc:date>
    <item>
      <title>rename fields during export - fieldmappings</title>
      <link>https://community.esri.com/t5/python-questions/rename-fields-during-export-fieldmappings/m-p/119200#M9383</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi.&lt;/P&gt;&lt;P&gt;I´m sure it is easy, but I just can´t make it work... &lt;/P&gt;&lt;P&gt;What I need is to rename fields while exporting feature class to shapefile. There are strings in fields names, that define new names - I want to use dictionary. I know I have to use &lt;A href="http://resources.arcgis.com/en/help/main/10.2/index.html#//018z00000078000000" rel="nofollow noopener noreferrer" target="_blank"&gt;field mapping&lt;/A&gt;. But when I try to overwrite name of output field, it just does not work (names are not overwritten). How to do it?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Sample code:&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;import arcpy

# input geodatabase
gdb=r"C:\Temp\EXPORT\export.gdb"
# output folder
folder=r"C:\Temp\EXPORT"

# dictionary - string in old name defines new name
fldsNamesDict={'String1':'NewName1','String2':'NewName2','String3':'NewName3','String4':'NewName4'}
# list of strings
fldsNames=list(fldsNamesDict.keys())

arcpy.env.workspace=gdb
fcs=arcpy.ListFeatureClasses()
# loop over feature classes
for fc in fcs:
&amp;nbsp;&amp;nbsp;&amp;nbsp; # new fieldmappings object
&amp;nbsp;&amp;nbsp;&amp;nbsp; fieldmappings=arcpy.FieldMappings()
&amp;nbsp;&amp;nbsp;&amp;nbsp; # load input fc to fieldmappings object
&amp;nbsp;&amp;nbsp;&amp;nbsp; fieldmappings.addTable(fc)
&amp;nbsp;&amp;nbsp;&amp;nbsp; # fields of input fc
&amp;nbsp;&amp;nbsp;&amp;nbsp; flds=fieldmappings.fieldMappings
&amp;nbsp;&amp;nbsp;&amp;nbsp; # loop over fields
&amp;nbsp;&amp;nbsp;&amp;nbsp; for fld in flds:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # loop - which string from dictionary is in old field name? what will be new name?
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for fldName in fldsNames:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if fldName in fld.getInputFieldName(0):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # SET NEW FIELD NAME
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fld.outputField.name=fldsNamesDict[fldName]
&amp;nbsp;&amp;nbsp;&amp;nbsp; # export fc to shp using field mapping with new fields names
&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.FeatureClassToFeatureClass_conversion(fc,folder,fc+".shp","",fieldmappings)&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks for any help!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 06:57:55 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/rename-fields-during-export-fieldmappings/m-p/119200#M9383</guid>
      <dc:creator>J_B__K_</dc:creator>
      <dc:date>2021-12-11T06:57:55Z</dc:date>
    </item>
    <item>
      <title>Re: rename fields during export - fieldmappings</title>
      <link>https://community.esri.com/t5/python-questions/rename-fields-during-export-fieldmappings/m-p/119201#M9384</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;You could throw some print statements in there since I can't tell whether anything is being done.&amp;nbsp; For example do you have any confirmation that line 29 ever gets reached, because if the condition in line 27 doesn't work, or isn't met then nothing happens&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jul 2015 10:15:50 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/rename-fields-during-export-fieldmappings/m-p/119201#M9384</guid>
      <dc:creator>DanPatterson_Retired</dc:creator>
      <dc:date>2015-07-15T10:15:50Z</dc:date>
    </item>
    <item>
      <title>Re: rename fields during export - fieldmappings</title>
      <link>https://community.esri.com/t5/python-questions/rename-fields-during-export-fieldmappings/m-p/119202#M9385</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;You are amending a fieldmap object, without then committing the results to the FieldMappings object!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You need to add code like this somewhere:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12.8000001907349px; color: #4d4d4d; font-family: Arial, Helvetica, sans-serif;"&gt;&lt;STRONG&gt;&lt;SPAN style="color: #000000; font-family: Consolas, 'Courier New', Courier, mono, serif; font-size: 12px; background-color: #f6f6f6;"&gt;fieldmappings.&lt;/SPAN&gt;replaceFieldMap (index, &lt;SPAN style="color: #000000; font-family: Consolas, 'Courier New', Courier, mono, serif; font-size: 12px;"&gt;fld&lt;/SPAN&gt;)&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12.8000001907349px; color: #4d4d4d; font-family: Arial, Helvetica, sans-serif;"&gt;&lt;STRONG&gt;Youll have to work out the index bit though!&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jul 2015 10:44:17 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/rename-fields-during-export-fieldmappings/m-p/119202#M9385</guid>
      <dc:creator>LukeWebb</dc:creator>
      <dc:date>2015-07-15T10:44:17Z</dc:date>
    </item>
    <item>
      <title>Re: rename fields during export - fieldmappings</title>
      <link>https://community.esri.com/t5/python-questions/rename-fields-during-export-fieldmappings/m-p/119203#M9386</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Stuck for a long time, solved after few hours after posting into forum &lt;IMG src="https://community.esri.com/legacyfs/online/emoticons/happy.png" /&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Two adjustments:&lt;/P&gt;&lt;P&gt;- index and replaceFieldMap&lt;/P&gt;&lt;P&gt;- new "instance" of output field object&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;import arcpy

# input geodatabase
gdb=r"C:\Temp\EXPORT\export.gdb"
# output folder
folder=r"C:\Temp\EXPORT"

# dictionary - string in old name defines new name
fldsNamesDict={'String1':'NewName1','String2':'NewName2','String3':'NewName3','String4':'NewName4'}
# list of strings
fldsNames=list(fldsNamesDict.keys())

arcpy.env.workspace=gdb
fcs=arcpy.ListFeatureClasses()
# loop over feature classes
for fc in fcs:
&amp;nbsp;&amp;nbsp;&amp;nbsp; # new fieldmappings object
&amp;nbsp;&amp;nbsp;&amp;nbsp; fieldmappings=arcpy.FieldMappings()
&amp;nbsp;&amp;nbsp;&amp;nbsp; # load input fc to fieldmappings object
&amp;nbsp;&amp;nbsp;&amp;nbsp; fieldmappings.addTable(fc)
&amp;nbsp;&amp;nbsp;&amp;nbsp; # fields of input fc
&amp;nbsp;&amp;nbsp;&amp;nbsp; flds=fieldmappings.fieldMappings
&amp;nbsp;&amp;nbsp;&amp;nbsp; # INDEX
&amp;nbsp;&amp;nbsp;&amp;nbsp; i=0
&amp;nbsp;&amp;nbsp;&amp;nbsp; # loop over fields
&amp;nbsp;&amp;nbsp;&amp;nbsp; for fld in flds:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # loop - which string from dictionary is in old field name? what will be new name?
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for fldName in fldsNames:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if fldName in fld.getInputFieldName(0):
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # SET NEW FIELD NAME
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; of=fld.outputField
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; of.name=fldsNamesDict[fldName]
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fld.outputField=of
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # REPLACE FIELDMAP
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fieldmappings.replaceFieldMap (i, fld)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # INCREASING INDEX
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; i=i+1
&amp;nbsp;&amp;nbsp;&amp;nbsp; # export fc to shp using field mapping with new fields names
&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.FeatureClassToFeatureClass_conversion(fc,folder,fc+".shp","",fieldmappings)&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 06:57:58 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/rename-fields-during-export-fieldmappings/m-p/119203#M9386</guid>
      <dc:creator>J_B__K_</dc:creator>
      <dc:date>2021-12-11T06:57:58Z</dc:date>
    </item>
  </channel>
</rss>

