<?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: Updating existing layer with Excel data in ArcGIS Pro Questions</title>
    <link>https://community.esri.com/t5/arcgis-pro-questions/updating-existing-layer-with-excel-data/m-p/1661881#M99822</link>
    <description>&lt;P&gt;Here would be the pythonic way. Note that the `row[i] = ` rows are updating based on index position in the flds list. And for your flds list, you really only need the unique_id column (OBJECTID, GlobalID, etc) and whatever fields you would want to update.&lt;/P&gt;&lt;LI-CODE lang="python"&gt;import arcpy
import pandas as pd

flds = ['Unique_ID', 'Address', 'Info']
fc_path = 'my.gdb\\featureclass'
excel_path = 'my\\excelfile.xlsx'

#excel_data
df = pd.read_excel(excel_path)

with arcpy.da.UpdateCursor(fc_path, flds) as cursor:
    for row in cursor:
        #filters df to matching unique record
        update = df.loc[df['Unique_ID'] == row[0]]
        
        #checks for records
        if len(update) == 0:
            print(f'No updates for {row[0]}')
        elif len(update) &amp;gt; 1:
            print(f'More than one matching record, {row[0]} was mot updated')
        elif len(update) == 1:
            #updates address
            row[1] = df.iloc[-1]['Address']
            
            #updates info
            row[2] = df.iloc[-1]['Info']
            
            cursor.updateRow(row)

            &lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;If you are intent on using something like address to identify which rows need to be updated, It would be advisable to add additional logic handles strings appropriately for matching records in terms of mismatch case, whitespace, etc. But that would be something you would need to sort out based on your data!&lt;/P&gt;</description>
    <pubDate>Wed, 29 Oct 2025 14:25:52 GMT</pubDate>
    <dc:creator>AustinAverill</dc:creator>
    <dc:date>2025-10-29T14:25:52Z</dc:date>
    <item>
      <title>Updating existing layer with Excel data</title>
      <link>https://community.esri.com/t5/arcgis-pro-questions/updating-existing-layer-with-excel-data/m-p/1661866#M99820</link>
      <description>&lt;P&gt;I am trying to update an existing field in a layer with data from an Excel spreadsheet.&amp;nbsp; It would be based on addresses.&amp;nbsp; If there were no matches in the spreadsheet, the existing layer would keep the data in the field; if it was in the spreadsheet, it would update to the new data.&amp;nbsp; Below is what I want to accomplish (with over 7,000 addresses):&lt;/P&gt;&lt;TABLE width="179"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD width="179"&gt;&lt;STRONG&gt;Existing Layer&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Address&lt;/TD&gt;&lt;TD&gt;Info&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1 Main Street&lt;/TD&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2 Main Street&lt;/TD&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3 Main Street&lt;/TD&gt;&lt;TD&gt;C&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE width="179"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD width="179"&gt;&lt;STRONG&gt;Excel Data&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Address&lt;/TD&gt;&lt;TD&gt;Info&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1 Main Street&lt;/TD&gt;&lt;TD&gt;D&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3 Main Street&lt;/TD&gt;&lt;TD&gt;F&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE width="179"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD width="179"&gt;&lt;STRONG&gt;Updated Layer&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;Address&lt;/TD&gt;&lt;TD&gt;Info&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1 Main Street&lt;/TD&gt;&lt;TD&gt;D&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2 Main Street&lt;/TD&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3 Main Street&lt;/TD&gt;&lt;TD&gt;F&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I hope I am making sense.&amp;nbsp; I thought it would be relatively simple to do but I am spinning my wheels.&lt;/P&gt;&lt;P&gt;Thank you.&lt;/P&gt;</description>
      <pubDate>Wed, 29 Oct 2025 13:34:58 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-pro-questions/updating-existing-layer-with-excel-data/m-p/1661866#M99820</guid>
      <dc:creator>DaleWalker</dc:creator>
      <dc:date>2025-10-29T13:34:58Z</dc:date>
    </item>
    <item>
      <title>Re: Updating existing layer with Excel data</title>
      <link>https://community.esri.com/t5/arcgis-pro-questions/updating-existing-layer-with-excel-data/m-p/1661875#M99821</link>
      <description>&lt;P&gt;A manual approach would be something like this:&lt;BR /&gt;&lt;BR /&gt;1.&amp;nbsp; &lt;A href="https://pro.arcgis.com/en/pro-app/latest/tool-reference/data-management/add-join.htm" target="_self"&gt;Add a Join&lt;/A&gt; from your Excel spreadsheet to the feature class using the Address field in both tables as your common field using a 1-1 cardinality.&amp;nbsp; Now you have one large table where the Excel table is appended to the spatial table.&lt;BR /&gt;2.&amp;nbsp; Run a &lt;A href="https://pro.arcgis.com/en/pro-app/latest/tool-reference/data-management/select-layer-by-attribute.htm" target="_self"&gt;select layer by attribute&lt;/A&gt; where the SQL query is something like Address1&amp;lt;&amp;gt;Address2.&amp;nbsp; Then you have selected records where Address1 does not equal Address2.&lt;BR /&gt;3.&amp;nbsp; Lastly, run a &lt;A href="https://pro.arcgis.com/en/pro-app/latest/tool-reference/data-management/calculate-field.htm" target="_self"&gt;Calculate Field&lt;/A&gt; where Address1=Address2.&amp;nbsp; The result is a newly updated attribute value in the spatial table where the matches are recalculated from the Excel table.&lt;BR /&gt;&lt;BR /&gt;I'd recommend doing this workflow on copies of the data first to make sure it's the output you desire.&amp;nbsp; I'm sure you could automate this with a Python script or a model in ModelBuilder too.&lt;/P&gt;</description>
      <pubDate>Wed, 29 Oct 2025 14:07:53 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-pro-questions/updating-existing-layer-with-excel-data/m-p/1661875#M99821</guid>
      <dc:creator>Robert_LeClair</dc:creator>
      <dc:date>2025-10-29T14:07:53Z</dc:date>
    </item>
    <item>
      <title>Re: Updating existing layer with Excel data</title>
      <link>https://community.esri.com/t5/arcgis-pro-questions/updating-existing-layer-with-excel-data/m-p/1661881#M99822</link>
      <description>&lt;P&gt;Here would be the pythonic way. Note that the `row[i] = ` rows are updating based on index position in the flds list. And for your flds list, you really only need the unique_id column (OBJECTID, GlobalID, etc) and whatever fields you would want to update.&lt;/P&gt;&lt;LI-CODE lang="python"&gt;import arcpy
import pandas as pd

flds = ['Unique_ID', 'Address', 'Info']
fc_path = 'my.gdb\\featureclass'
excel_path = 'my\\excelfile.xlsx'

#excel_data
df = pd.read_excel(excel_path)

with arcpy.da.UpdateCursor(fc_path, flds) as cursor:
    for row in cursor:
        #filters df to matching unique record
        update = df.loc[df['Unique_ID'] == row[0]]
        
        #checks for records
        if len(update) == 0:
            print(f'No updates for {row[0]}')
        elif len(update) &amp;gt; 1:
            print(f'More than one matching record, {row[0]} was mot updated')
        elif len(update) == 1:
            #updates address
            row[1] = df.iloc[-1]['Address']
            
            #updates info
            row[2] = df.iloc[-1]['Info']
            
            cursor.updateRow(row)

            &lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;If you are intent on using something like address to identify which rows need to be updated, It would be advisable to add additional logic handles strings appropriately for matching records in terms of mismatch case, whitespace, etc. But that would be something you would need to sort out based on your data!&lt;/P&gt;</description>
      <pubDate>Wed, 29 Oct 2025 14:25:52 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-pro-questions/updating-existing-layer-with-excel-data/m-p/1661881#M99822</guid>
      <dc:creator>AustinAverill</dc:creator>
      <dc:date>2025-10-29T14:25:52Z</dc:date>
    </item>
    <item>
      <title>Re: Updating existing layer with Excel data</title>
      <link>https://community.esri.com/t5/arcgis-pro-questions/updating-existing-layer-with-excel-data/m-p/1661893#M99824</link>
      <description>&lt;P&gt;These are the same steps I would recommend.&amp;nbsp; I follow these steps to do multiple weekly updates and found it to be the most straightforward and simplistic.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 29 Oct 2025 14:35:08 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-pro-questions/updating-existing-layer-with-excel-data/m-p/1661893#M99824</guid>
      <dc:creator>JasminePrater</dc:creator>
      <dc:date>2025-10-29T14:35:08Z</dc:date>
    </item>
    <item>
      <title>Re: Updating existing layer with Excel data</title>
      <link>https://community.esri.com/t5/arcgis-pro-questions/updating-existing-layer-with-excel-data/m-p/1662145#M99852</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.esri.com/t5/user/viewprofilepage/user-id/834426"&gt;@DaleWalker&lt;/a&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Add it to your ArcGIS Pro project by dragging it into the map or using Add Data.&lt;/P&gt;&lt;P&gt;Join the Excel Table to Your Layer:&amp;nbsp;&lt;A href="https://support.esri.com/en-us/knowledge-base/how-to-join-an-excel-spreadsheet-to-a-feature-class-in--000021757" target="_blank"&gt;https://support.esri.com/en-us/knowledge-base/how-to-join-an-excel-spreadsheet-to-a-feature-class-in--000021757&lt;/A&gt;&lt;/P&gt;&lt;P&gt;Calculate Field to Update Info:&lt;A href="https://pro.arcgis.com/en/pro-app/latest/tool-reference/data-management/calculate-field.htm" target="_blank"&gt;https://pro.arcgis.com/en/pro-app/latest/tool-reference/data-management/calculate-field.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 30 Oct 2025 10:45:17 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-pro-questions/updating-existing-layer-with-excel-data/m-p/1662145#M99852</guid>
      <dc:creator>Priya_Das</dc:creator>
      <dc:date>2025-10-30T10:45:17Z</dc:date>
    </item>
  </channel>
</rss>

