<?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: Python help needed... select polygons from one shapefile, based on values in another table... in Python Questions</title>
    <link>https://community.esri.com/t5/python-questions/python-help-needed-select-polygons-from-one/m-p/353797#M27768</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I got it to work... many thanks to you. The script that worked finally is below. Mind if I ask what editor you are using? It sure looks nice with the line numbers and shading. &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 09 Jan 2015 19:24:42 GMT</pubDate>
    <dc:creator>John_S_Wood</dc:creator>
    <dc:date>2015-01-09T19:24:42Z</dc:date>
    <item>
      <title>Python help needed... select polygons from one shapefile, based on values in another table...</title>
      <link>https://community.esri.com/t5/python-questions/python-help-needed-select-polygons-from-one/m-p/353786#M27757</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P style="margin-left: 5.0pt; margin-bottom: .0001pt; text-indent: -5.0pt;"&gt;I have a table in a geodatabase with the following field names (types): &lt;/P&gt;&lt;P style="margin-left: 15.0pt; margin-bottom: .0001pt; text-indent: -5.0pt;"&gt;OBJECTID (Object ID)&lt;/P&gt;&lt;P style="margin-left: 15.0pt; margin-bottom: .0001pt; text-indent: -5.0pt;"&gt;SpeciesNum (String)&lt;/P&gt;&lt;P style="margin-left: 15.0pt; margin-bottom: .0001pt; text-indent: -5.0pt;"&gt;Sci_Name&amp;nbsp; (String)&lt;/P&gt;&lt;P style="margin-left: 15.0pt; margin-bottom: .0001pt; text-indent: -5.0pt;"&gt;Spp_number (String)&lt;/P&gt;&lt;P style="margin-left: 15.0pt; margin-bottom: .0001pt; text-indent: -5.0pt;"&gt;Sum_A1&amp;nbsp; (Long)&lt;/P&gt;&lt;P style="margin-left: 15.0pt; margin-bottom: .0001pt; text-indent: -5.0pt;"&gt;Sum_A2 (Long)&lt;/P&gt;&lt;P style="margin-left: 15.0pt; margin-bottom: .0001pt; text-indent: -5.0pt;"&gt;Sum_A3 (Long)&lt;/P&gt;&lt;P style="margin-left: 15.0pt; margin-bottom: .0001pt; text-indent: -5.0pt;"&gt;… &lt;/P&gt;&lt;P style="margin-left: 15.0pt; margin-bottom: .0001pt; text-indent: -5.0pt;"&gt;Sum_H2 (Long)&lt;/P&gt;&lt;P style="margin-left: 15.0pt; margin-bottom: .0001pt; text-indent: -5.0pt;"&gt;Sum_H3 (Long)&lt;/P&gt;&lt;P style="margin-left: 15.0pt; margin-bottom: .0001pt; text-indent: -5.0pt;"&gt;Sum_H4 (Long)&lt;/P&gt;&lt;P style="margin-left: 15.0pt; margin-bottom: .0001pt; text-indent: -5.0pt;"&gt;Sum_H5 (Long)&lt;/P&gt;&lt;P style="margin-left: 15.0pt; margin-bottom: .0001pt; text-indent: -5.0pt;"&gt;Sum_H6 (Long)&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="margin-left: 5.0pt; margin-bottom: .0001pt; text-indent: -5.0pt;"&gt;I also have a shapefile with regions A through G, subdivided into depth classes 1-6…. Each of the 48 polygons is coded A1, A2, A3….H5, H6. Field Name is ‘Code’ (String).&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="margin-left: 5.0pt; margin-bottom: .0001pt; text-indent: -5.0pt;"&gt;I want to select polygons from the shapefile, based on whether the corresponding field in the table has a ‘1’ or a ‘0’ value. So if Sum_A1 and Sum_A2 both contain ‘1’s, the A1 and A2 polygons will be selected. I then want to export the selected polygons as a new shapefile with the name from Sci_Name, and a field containing the SpeciesNum (a string value). &lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="margin-left: 5.0pt; margin-bottom: .0001pt; text-indent: -5.0pt;"&gt;Since I have about 13,000 species, each of which should become a separate shapefile, I need to automate this process.&amp;nbsp; &lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="margin-left: 5.0pt; margin-bottom: .0001pt; text-indent: -5.0pt;"&gt;Oh yeah, I’m working in ArcMap 10.2, with Python 2.7. Any help or helpful fragments ware greatly appreciated! I am new to the Forums, so I've probably just broken all sorts of protocols. I apologize in advance! &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 07 Jan 2015 22:58:41 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/python-help-needed-select-polygons-from-one/m-p/353786#M27757</guid>
      <dc:creator>John_S_Wood</dc:creator>
      <dc:date>2015-01-07T22:58:41Z</dc:date>
    </item>
    <item>
      <title>Re: Python help needed... select polygons from one shapefile, based on values in another table...</title>
      <link>https://community.esri.com/t5/python-questions/python-help-needed-select-polygons-from-one/m-p/353787#M27758</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;So you don't want to have the polygon's attribute table contain an item for the presence of each species because that would be 13000 items in the attribute table?&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;What about a link or relate between the data table and the attribute table so a query on the data table will select the polygons that contain the species of interest?&amp;nbsp; But maybe you need to deliver a shapefile, not a map project.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 07 Jan 2015 23:19:35 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/python-help-needed-select-polygons-from-one/m-p/353787#M27758</guid>
      <dc:creator>PaulHuffman</dc:creator>
      <dc:date>2015-01-07T23:19:35Z</dc:date>
    </item>
    <item>
      <title>Re: Python help needed... select polygons from one shapefile, based on values in another table...</title>
      <link>https://community.esri.com/t5/python-questions/python-help-needed-select-polygons-from-one/m-p/353788#M27759</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Your basic workflow will be:&lt;/P&gt;&lt;P&gt;- create a &lt;A href="http://resources.arcgis.com/en/help/main/10.1/index.html#/SearchCursor/018w00000011000000/"&gt;da.SearchCursor()&lt;/A&gt; to loop through each row. In the call to create the cursor, you will list all of your fields.&lt;/P&gt;&lt;P&gt;- Loop through each field inside the cursor. If the value equals 1, add it to an SQL string that would fit into Select By Attributes, like: "POLYGON_ID" in ('A1','A2','C4', etc.)&lt;/P&gt;&lt;P&gt;- Once you've looped through all fields, run &lt;A href="http://resources.arcgis.com/en/help/main/10.1/index.html#//000800000005000000"&gt;Select tool &lt;/A&gt;using the constructed where clause&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 07 Jan 2015 23:21:33 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/python-help-needed-select-polygons-from-one/m-p/353788#M27759</guid>
      <dc:creator>DarrenWiens2</dc:creator>
      <dc:date>2015-01-07T23:21:33Z</dc:date>
    </item>
    <item>
      <title>Re: Python help needed... select polygons from one shapefile, based on values in another table...</title>
      <link>https://community.esri.com/t5/python-questions/python-help-needed-select-polygons-from-one/m-p/353789#M27760</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi John,&lt;/P&gt;&lt;P&gt;It seems to me that whatever you are trying to achieve with this, there might be an easier way. If you give it one more round of thought and still want to get on with what you described, perhaps the code below can help.&lt;/P&gt;&lt;P&gt;I didn't test it because I had no sample data so it may contain some typos or glitches. If you understand the code though, you should be able get the job done.&lt;/P&gt;&lt;P&gt;Hope this helps.&lt;/P&gt;&lt;P&gt;Filip.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;# Given that species number is unique for each row in the table:&lt;/P&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;import arcpy

# parameters
in_table = r'c:\full\path\to\table'
in_fc = r'c:\full\path\to\polygon_fc'
out_folder = r'c:\full\path\to\output\folder'
polygon_code_field = "Code"

# list all fields from the table
all_fields = [f.name for f in arcpy.ListFields(in_table)]

# loop through all rows in table
with arcpy.da.SearchCursor(in_table, '*') as sc:
&amp;nbsp;&amp;nbsp;&amp;nbsp; for row in sc:

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; item = dict(zip(all_fields, row)) # represent row as a dictionary

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; species_number = item.get('&lt;SPAN style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif; font-size: 14.3999996185303px; text-indent: -6.66666650772095px;"&gt;SpeciesNum&lt;/SPAN&gt;', 0)
&lt;SPAN style="font-size: 14.3999996185303px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; species_name = item.get('Sci_Name', 'Uknown')&lt;/SPAN&gt;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # get list of polygon codes that should be selected
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; polygons_to_select = []
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for field_name, value in item.iteritems():
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; field_name_lower = field_name.lower() # to make comparison case insensitive
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if field_name_lower.startswith('sum_') and value == 1:
&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; polygon_code = field_name_lower.replace('sum_', '')
&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; polygons_to_select.append(polygon_code)

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if polygons_to_select:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # create a string like "'A1','B2',..."
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; codes = ",".join(["'" + str(pg) + "'" for pg in polygons_to_select])
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # build an SQL expression
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sql = '"%s" IN (%s)' % (polygon_code_field, codes)

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # export as a new shapefile with species_name in the file name
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; out_fc = os.path.join(out_folder, "spp_" + species_name)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; out_fc = arcpy.analysis.Select(in_fc, out_fc, sql).getOutput(0)

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # add the column with species number as string
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.management.AddField(out_fc, "SpeciesNum", "TEXT")
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.management.CalculateField(out_fc, "SpeciesNum", "'" + str(species_number) + "'")
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # It seems to me it would be better to use species number in file name
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # and to add column with species name though.

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else:
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # no Sum_* column contains 1 for this species, skip this species
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pass
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # or you may want to create an empty shapefile
&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 16:35:30 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/python-help-needed-select-polygons-from-one/m-p/353789#M27760</guid>
      <dc:creator>FilipKrál</dc:creator>
      <dc:date>2021-12-11T16:35:30Z</dc:date>
    </item>
    <item>
      <title>Re: Python help needed... select polygons from one shapefile, based on values in another table...</title>
      <link>https://community.esri.com/t5/python-questions/python-help-needed-select-polygons-from-one/m-p/353790#M27761</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks!!! I can hardly wait to try it!!!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Sent from my Verizon Wireless 4G LTE smartphone&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 08 Jan 2015 03:51:37 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/python-help-needed-select-polygons-from-one/m-p/353790#M27761</guid>
      <dc:creator>John_S_Wood</dc:creator>
      <dc:date>2015-01-08T03:51:37Z</dc:date>
    </item>
    <item>
      <title>Re: Python help needed... select polygons from one shapefile, based on values in another table...</title>
      <link>https://community.esri.com/t5/python-questions/python-help-needed-select-polygons-from-one/m-p/353791#M27762</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Close... it goes as far as creating the shapefile, but it has no polygons... I'll play with it. Thanks for the start!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 08 Jan 2015 16:40:44 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/python-help-needed-select-polygons-from-one/m-p/353791#M27762</guid>
      <dc:creator>John_S_Wood</dc:creator>
      <dc:date>2015-01-08T16:40:44Z</dc:date>
    </item>
    <item>
      <title>Re: Python help needed... select polygons from one shapefile, based on values in another table...</title>
      <link>https://community.esri.com/t5/python-questions/python-help-needed-select-polygons-from-one/m-p/353792#M27763</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Yes, I need to deliver a separate shapefile for each species (each polygon shows the distribution of the species) . Filip's code (revised) gets close, and I get a shapefile with the appropriate field, but no polygons.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WARNING 000117: Warning empty output generated.&lt;/P&gt;&lt;P&gt;Succeeded at Thu Jan 08 12:58:12 2015 (Elapsed Time: 0.19 seconds)&lt;/P&gt;&lt;P&gt;Executing: AddField "C:\deleteme\Script_Output\Lyngbya sordida.shp" SpeciesNum TEXT # # # # NULLABLE NON_REQUIRED #&lt;/P&gt;&lt;P&gt;Start Time: Thu Jan 08 12:58:14 2015&lt;/P&gt;&lt;P&gt;Adding SpeciesNum to C:\deleteme\Script_Output\Lyngbya sordida.shp...&lt;/P&gt;&lt;P&gt;Succeeded at Thu Jan 08 12:58:14 2015 (Elapsed Time: 0.01 seconds)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So, what I have so far is:&lt;/P&gt;&lt;P&gt;import arcpy&lt;/P&gt;&lt;P&gt;... import os&lt;/P&gt;&lt;P&gt;... &lt;/P&gt;&lt;P&gt;... # parameters&lt;/P&gt;&lt;P&gt;... in_table = r'C:\Users\jwood\Documents\ArcGIS\Default.gdb\BGM_dummy'&lt;/P&gt;&lt;P&gt;... in_fc = r'C:\Users\jwood\Documents\ArcGIS\Default.gdb\OctDepths'&lt;/P&gt;&lt;P&gt;... out_folder = r'C:\deleteme\Script_Output'&lt;/P&gt;&lt;P&gt;... polygon_code_field = "Code"&lt;/P&gt;&lt;P&gt;... &lt;/P&gt;&lt;P&gt;... # list all fields from the table&lt;/P&gt;&lt;P&gt;... all_fields = [f.name for f in arcpy.ListFields(in_table)]&lt;/P&gt;&lt;P&gt;... &lt;/P&gt;&lt;P&gt;... # loop through all rows in table&lt;/P&gt;&lt;P&gt;... with arcpy.da.SearchCursor(in_table, '*') as sc:&lt;/P&gt;&lt;P&gt;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for row in sc:&lt;/P&gt;&lt;P&gt;... &lt;/P&gt;&lt;P&gt;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; item = dict(zip(all_fields, row)) # represent row as a dictionary&lt;/P&gt;&lt;P&gt;... &lt;/P&gt;&lt;P&gt;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; species_number = item.get('SpeciesNum', 0)&lt;/P&gt;&lt;P&gt;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; species_name = item.get('Sci_Name', 'Unknown')&lt;/P&gt;&lt;P&gt;... &lt;/P&gt;&lt;P&gt;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # get list of polygon codes that should be selected&lt;/P&gt;&lt;P&gt;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; polygons_to_select = []&lt;/P&gt;&lt;P&gt;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for field_name, value in item.iteritems():&lt;/P&gt;&lt;P&gt;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; field_name_lower = field_name.lower() # to make comparison case insensitive&lt;/P&gt;&lt;P&gt;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if field_name_lower.startswith('sum_') and value == 1:&lt;/P&gt;&lt;P&gt;...&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;&amp;nbsp; polygon_code = field_name_lower.replace('sum_', '')&lt;/P&gt;&lt;P&gt;...&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;&amp;nbsp; polygons_to_select.append(polygon_code)&lt;/P&gt;&lt;P&gt;... &lt;/P&gt;&lt;P&gt;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if polygons_to_select:&lt;/P&gt;&lt;P&gt;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # create a string like "'A1','B2',..."&lt;/P&gt;&lt;P&gt;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; codes = ",".join(["'" + str(pg) + "'" for pg in polygons_to_select])&lt;/P&gt;&lt;P&gt;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # build an SQL expression&lt;/P&gt;&lt;P&gt;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sql = '"%s" IN (%s)' % (polygon_code_field, codes)&lt;/P&gt;&lt;P&gt;... &lt;/P&gt;&lt;P&gt;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #print codes&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;...&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;&amp;nbsp; # export as a new shapefile with species_name in the file name&lt;/P&gt;&lt;P&gt;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; out_fc = os.path.join(out_folder, species_name)&lt;/P&gt;&lt;P&gt;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; out_fc = arcpy.analysis.Select(in_fc, out_fc, sql).getOutput(0)&lt;/P&gt;&lt;P&gt;... &lt;/P&gt;&lt;P&gt;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # add the column with species number as string&lt;/P&gt;&lt;P&gt;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.management.AddField(out_fc, "SpeciesNum", "TEXT")&lt;/P&gt;&lt;P&gt;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #arcpy.management.CalculateField(out_fc, "SpeciesNum", "'" + str(species_number) + "'")&lt;/P&gt;&lt;P&gt;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # It seems to me it would be better to use species number in file name&lt;/P&gt;&lt;P&gt;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # and to add column with species name though.&lt;/P&gt;&lt;P&gt;... &lt;/P&gt;&lt;P&gt;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else:&lt;/P&gt;&lt;P&gt;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # no Sum_* column contains 1 for this species, skip this species&lt;/P&gt;&lt;P&gt;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pass&lt;/P&gt;&lt;P&gt;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # or you may want to create an empty shapefile&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I suspect the problem is in the select sql statement....&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 08 Jan 2015 21:10:10 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/python-help-needed-select-polygons-from-one/m-p/353792#M27763</guid>
      <dc:creator>John_S_Wood</dc:creator>
      <dc:date>2015-01-08T21:10:10Z</dc:date>
    </item>
    <item>
      <title>Re: Python help needed... select polygons from one shapefile, based on values in another table...</title>
      <link>https://community.esri.com/t5/python-questions/python-help-needed-select-polygons-from-one/m-p/353793#M27764</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi, it does indeed suggest that the problem may be in the sql statement. Maybe you can print(sql) before arcpy.analysis.Select to see if it is correct.&lt;/P&gt;&lt;P&gt;Try to paste some of the print outs here so we can try to spot some problems.&lt;/P&gt;&lt;P&gt;Filip.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 08 Jan 2015 21:16:11 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/python-help-needed-select-polygons-from-one/m-p/353793#M27764</guid>
      <dc:creator>FilipKrál</dc:creator>
      <dc:date>2015-01-08T21:16:11Z</dc:date>
    </item>
    <item>
      <title>Re: Python help needed... select polygons from one shapefile, based on values in another table...</title>
      <link>https://community.esri.com/t5/python-questions/python-help-needed-select-polygons-from-one/m-p/353794#M27765</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;What does 'print sql' look like after you've built it?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Afterthought: try escape-quoting the field name to retain the quotes (see the where clause explanation &lt;A href="http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#//001700000071000000"&gt;here &lt;/A&gt;for more options): &lt;SPAN style="font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;sql = ' \"%s\" IN (%s)' % (polygon_code_field, codes)&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 08 Jan 2015 21:17:12 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/python-help-needed-select-polygons-from-one/m-p/353794#M27765</guid>
      <dc:creator>DarrenWiens2</dc:creator>
      <dc:date>2015-01-08T21:17:12Z</dc:date>
    </item>
    <item>
      <title>Re: Python help needed... select polygons from one shapefile, based on values in another table...</title>
      <link>https://community.esri.com/t5/python-questions/python-help-needed-select-polygons-from-one/m-p/353795#M27766</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;First of all, you are running on a sweet setup, &lt;IMG src="https://community.esri.com/legacyfs/online/emoticons/happy.png" /&gt; 10.2 is solid to work with in terms of extending functionality of the application through automation with Python! (I am jealous). Just curious, why you are associating what seems like a "random" floating table with shapefiles - shouldn't those features be tied with their respectable attributes? If this were the case, it would be SO much easier to automate (less convoluted and complex of an analysis project), since you could utilize the Select Layer by Attribute etc. i.e. draw from the power of querying alone, using python, and the script would select the diff polygons from the shapefile based on this boolean condition you have set up. Search Cursors are very powerful but can get very tricky, as we see here I suppose.. - extreme patience is needed of course when debugging. PS, Filip's code looks really clean and easy to work with, hope that works out for you. As is expected though it will most likely break the first few times you try and run it on a different machine! Part of the fun though right?! &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I second (Filip's comment above) using the print statements to test different snippets of the code. Very very helpful to me in the past as well indeed! I pretty much structure my whole debugging workflow based on print statements and commenting in and out. I also suggest (if you haven't tried this before) commenting out your entire code initially, and running it block by block, un commenting as you go - best for easily locating exactly where the code is breaking... Post the code that works if you get it running, I am really curious to see what runs! Also thanks for posting this in the first place.. its been a little while since I've worked with it and nice to read through to keep skills sharp!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 08 Jan 2015 22:00:00 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/python-help-needed-select-polygons-from-one/m-p/353795#M27766</guid>
      <dc:creator>HannahCole2</dc:creator>
      <dc:date>2015-01-08T22:00:00Z</dc:date>
    </item>
    <item>
      <title>Re: Python help needed... select polygons from one shapefile, based on values in another table...</title>
      <link>https://community.esri.com/t5/python-questions/python-help-needed-select-polygons-from-one/m-p/353796#M27767</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Yes... nice to keep skills sharp! I got it to work... here's what I ended up with:&lt;/P&gt;&lt;P&gt;import arcpy&lt;/P&gt;&lt;P&gt;... import os&lt;/P&gt;&lt;P&gt;... #import codecs&lt;/P&gt;&lt;P&gt;... # parameters&lt;/P&gt;&lt;P&gt;... in_table = r'C:\Users\jwood\Documents\ArcGIS\Default.gdb\BGM_Chpt9'&lt;/P&gt;&lt;P&gt;... in_fc = r'C:\Users\jwood\Documents\ArcGIS\Default.gdb\OctDepths'&lt;/P&gt;&lt;P&gt;... out_folder = r'C:\Users\jwood\Documents\IUCN Red List\Shapefiles\Chpt9'&lt;/P&gt;&lt;P&gt;... polygon_code_field = "Code"&lt;/P&gt;&lt;P&gt;...&amp;nbsp; #9&lt;/P&gt;&lt;P&gt;... # list all fields from the table&lt;/P&gt;&lt;P&gt;... all_fields = [f.name for f in arcpy.ListFields(in_table)]&lt;/P&gt;&lt;P&gt;...&amp;nbsp; #12&lt;/P&gt;&lt;P&gt;... # loop through all rows in table&lt;/P&gt;&lt;P&gt;... with arcpy.da.SearchCursor(in_table, '*') as sc:&lt;/P&gt;&lt;P&gt;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for row in sc:&lt;/P&gt;&lt;P&gt;...&amp;nbsp; #16&lt;/P&gt;&lt;P&gt;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; item = dict(zip(all_fields, row)) # represent row as a dictionary&lt;/P&gt;&lt;P&gt;...&amp;nbsp;&amp;nbsp; #18&lt;/P&gt;&lt;P&gt;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; species_name = item.get('BINOMIAL', 'Unknown')&lt;/P&gt;&lt;P&gt;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; species_number = item.get('SpeciesNum', 0)&lt;/P&gt;&lt;P&gt;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; iucn_num = item.get('IUCN_number', 'Unknown')&lt;/P&gt;&lt;P&gt;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; origin = item.get('ORIGIN', 'Unknown')&lt;/P&gt;&lt;P&gt;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; taxon_id = item.get('TAXON_ID', 'Unknown')&lt;/P&gt;&lt;P&gt;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; compiler = item.get('COMPILER', 'Unknown')&lt;/P&gt;&lt;P&gt;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; presence = item.get('PRESENCE', 'Unknown')&lt;/P&gt;&lt;P&gt;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; citation = item.get('Citation', 'Unknown')&lt;/P&gt;&lt;P&gt;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; seasonal = item.get('SEASONAL', 'Unknown')&lt;/P&gt;&lt;P&gt;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dist_comm = item.get('DIST_COMM', 'Unknown')&lt;/P&gt;&lt;P&gt;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; year_ = item.get('YEAR_', 'Unknown')&lt;/P&gt;&lt;P&gt;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; island_ = item.get('Island_', 'Unknown')&lt;/P&gt;&lt;P&gt;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; source_ = item.get('Source_', 'Unknown')&lt;/P&gt;&lt;P&gt;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; subPop = item.get('SUBPOP', 'Unknown')&lt;/P&gt;&lt;P&gt;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; legend= item.get('LEGEND', 'Unknown')&lt;/P&gt;&lt;P&gt;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; subSpec = item.get('SUBSPECIES', 'Unknown')&lt;/P&gt;&lt;P&gt;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; chaptNum = item.get('ChaptNum', 'Unknown')&lt;/P&gt;&lt;P&gt;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tax_comm = item.get('TAX_COMM', 'Unknown')&lt;/P&gt;&lt;P&gt;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BGM_url = item.get('URL', 'Unknown')&lt;/P&gt;&lt;P&gt;... #38&lt;/P&gt;&lt;P&gt;... &lt;/P&gt;&lt;P&gt;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # get list of polygon codes that should be selected&lt;/P&gt;&lt;P&gt;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; polygons_to_select = []&lt;/P&gt;&lt;P&gt;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for field_name, value in item.iteritems():&lt;/P&gt;&lt;P&gt;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; field_name_upper = field_name.upper() # to make comparison case insensitive&lt;/P&gt;&lt;P&gt;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if field_name_upper and value == 1:&lt;/P&gt;&lt;P&gt;...&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;&amp;nbsp; polygon_code = field_name_upper&lt;/P&gt;&lt;P&gt;...&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;&amp;nbsp; polygons_to_select.append(polygon_code)&lt;/P&gt;&lt;P&gt;... #47&lt;/P&gt;&lt;P&gt;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if polygons_to_select:&lt;/P&gt;&lt;P&gt;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # create a string like "'A1','B2',..."&lt;/P&gt;&lt;P&gt;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; codes = ",".join(["'" + str(pg) + "'" for pg in polygons_to_select])&lt;/P&gt;&lt;P&gt;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # build an SQL expression&lt;/P&gt;&lt;P&gt;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sql = '"%s" IN (%s)' % (polygon_code_field, codes)&lt;/P&gt;&lt;P&gt;... #53&lt;/P&gt;&lt;P&gt;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #print codes&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #print polygon_code_field&lt;/P&gt;&lt;P&gt;... #56&lt;/P&gt;&lt;P&gt;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # export as a new shapefile with species_name in the file name&lt;/P&gt;&lt;P&gt;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; out_fc = os.path.join(out_folder, species_name)&lt;/P&gt;&lt;P&gt;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; out_fc = arcpy.analysis.Select(in_fc, out_fc, sql).getOutput(0)&lt;/P&gt;&lt;P&gt;... #60&lt;/P&gt;&lt;P&gt;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # add the column with species number as string&lt;/P&gt;&lt;P&gt;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.management.AddField(out_fc, "BINOMIAL", "TEXT")&lt;/P&gt;&lt;P&gt;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.CalculateField_management(out_fc, "BINOMIAL", "'" + str(species_name) + "'", "PYTHON_9.3")&lt;/P&gt;&lt;P&gt;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.management.AddField(out_fc, "SpeciesNum", "TEXT")&lt;/P&gt;&lt;P&gt;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.CalculateField_management(out_fc, "SpeciesNum", "'" + str(species_number) + "'", "PYTHON_9.3")&lt;/P&gt;&lt;P&gt;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.management.AddField(out_fc, "ORIGIN", "TEXT")&lt;/P&gt;&lt;P&gt;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.management.AddField(out_fc, "TAXON_ID", "TEXT")&amp;nbsp;&amp;nbsp; #67&lt;/P&gt;&lt;P&gt;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.CalculateField_management(out_fc, "TAXON_ID", "'" + str(taxon_id) + "'", "PYTHON_9.3")&lt;/P&gt;&lt;P&gt;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.management.AddField(out_fc, "COMPILER", "TEXT")&lt;/P&gt;&lt;P&gt;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.CalculateField_management(out_fc, "COMPILER", "'" + str(compiler) + "'", "PYTHON_9.3") #70&lt;/P&gt;&lt;P&gt;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.management.AddField(out_fc, "PRESENCE", "TEXT")&lt;/P&gt;&lt;P&gt;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.CalculateField_management(out_fc, "PRESENCE", "'" + str(presence) + "'", "PYTHON_9.3")&lt;/P&gt;&lt;P&gt;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.management.AddField(out_fc, "Citation", "TEXT")&lt;/P&gt;&lt;P&gt;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.CalculateField_management(out_fc, "Citation", "'" + str(citation) + "'", "PYTHON_9.3")&lt;/P&gt;&lt;P&gt;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.management.AddField(out_fc, "SEASONAL", "TEXT")&lt;/P&gt;&lt;P&gt;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.CalculateField_management(out_fc, "SEASONAL", "'" + str(seasonal) + "'", "PYTHON_9.3")&lt;/P&gt;&lt;P&gt;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.management.AddField(out_fc, "DIST_COMM", "TEXT")&lt;/P&gt;&lt;P&gt;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.CalculateField_management(out_fc, "DIST_COMM", "'" + str(dist_comm) + "'", "PYTHON_9.3")&lt;/P&gt;&lt;P&gt;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.management.AddField(out_fc, "YEAR_", "TEXT")&lt;/P&gt;&lt;P&gt;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.CalculateField_management(out_fc, "YEAR_", "'" + str(year_) + "'", "PYTHON_9.3") #80&lt;/P&gt;&lt;P&gt;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.management.AddField(out_fc, "Island", "TEXT")&lt;/P&gt;&lt;P&gt;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.CalculateField_management(out_fc, "Island", "'" + str(island_) + "'", "PYTHON_9.3") &lt;/P&gt;&lt;P&gt;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.management.AddField(out_fc, "SOURCE", "TEXT")&lt;/P&gt;&lt;P&gt;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.CalculateField_management(out_fc, "SOURCE", "'" + str(source_) + "'", "PYTHON_9.3")&lt;/P&gt;&lt;P&gt;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.management.AddField(out_fc, "SUBPOP", "TEXT")&lt;/P&gt;&lt;P&gt;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.CalculateField_management(out_fc, "SUBPOP", "'" + str(subPop) + "'", "PYTHON_9.3")&lt;/P&gt;&lt;P&gt;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.management.AddField(out_fc, "LEGEND", "TEXT")&lt;/P&gt;&lt;P&gt;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.CalculateField_management(out_fc, "LEGEND", "'" + str(legend) + "'", "PYTHON_9.3")&lt;/P&gt;&lt;P&gt;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.management.AddField(out_fc, "SUBSPECIES", "TEXT")&lt;/P&gt;&lt;P&gt;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.CalculateField_management(out_fc, "SUBSPECIES", "'" + str(subSpec) + "'", "PYTHON_9.3")&lt;/P&gt;&lt;P&gt;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.management.AddField(out_fc, "ChaptNum", "TEXT")&lt;/P&gt;&lt;P&gt;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.CalculateField_management(out_fc, "ChaptNum", "'" + str(chaptNum) + "'", "PYTHON_9.3")&lt;/P&gt;&lt;P&gt;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.management.AddField(out_fc, "TAX_COMM", "TEXT")&lt;/P&gt;&lt;P&gt;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.CalculateField_management(out_fc, "TAX_COMM", "'" + str(tax_comm) + "'", "PYTHON_9.3")&lt;/P&gt;&lt;P&gt;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.management.AddField(out_fc, "BGMUrl", "TEXT") &lt;/P&gt;&lt;P&gt;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arcpy.CalculateField_management(out_fc, "BGMUrl", "'" + str(BGM_url) + "'", "PYTHON_9.3")&lt;/P&gt;&lt;P&gt;... &lt;/P&gt;&lt;P&gt;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #print island&lt;/P&gt;&lt;P&gt;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #print source&lt;/P&gt;&lt;P&gt;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #arcpy.Dissolve_management(out_fc, out_fc_Dissolv, "SpeciesNum", "", "MULTI_PART", "DISSOLVE_LINES")&lt;/P&gt;&lt;P&gt;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else:&lt;/P&gt;&lt;P&gt;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # no 'A1,A2' column contains 1 for this species, skip this species&lt;/P&gt;&lt;P&gt;...&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pass&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 09 Jan 2015 18:13:59 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/python-help-needed-select-polygons-from-one/m-p/353796#M27767</guid>
      <dc:creator>John_S_Wood</dc:creator>
      <dc:date>2015-01-09T18:13:59Z</dc:date>
    </item>
    <item>
      <title>Re: Python help needed... select polygons from one shapefile, based on values in another table...</title>
      <link>https://community.esri.com/t5/python-questions/python-help-needed-select-polygons-from-one/m-p/353797#M27768</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I got it to work... many thanks to you. The script that worked finally is below. Mind if I ask what editor you are using? It sure looks nice with the line numbers and shading. &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 09 Jan 2015 19:24:42 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/python-help-needed-select-polygons-from-one/m-p/353797#M27768</guid>
      <dc:creator>John_S_Wood</dc:creator>
      <dc:date>2015-01-09T19:24:42Z</dc:date>
    </item>
    <item>
      <title>Re: Python help needed... select polygons from one shapefile, based on values in another table...</title>
      <link>https://community.esri.com/t5/python-questions/python-help-needed-select-polygons-from-one/m-p/353798#M27769</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P style="font-size: 14.3999996185303px;"&gt;Hi John, I am glad you made it work.&lt;/P&gt;&lt;P style="font-size: 14.3999996185303px;"&gt;&lt;/P&gt;&lt;P style="font-size: 14.3999996185303px;"&gt;To insert syntax highlighted code into this forum you have to use the advanced editor when you are editing the message.&lt;/P&gt;&lt;P style="font-size: 14.3999996185303px;"&gt;The advanced editor is available only if you are writing answer on the page dedicated to the thread (in this case that is &lt;A _jive_internal="true" href="https://community.esri.com/thread/119510" title="https://community.esri.com/thread/119510"&gt;https://community.esri.com/thread/119510&lt;/A&gt;‌‌ . After you click "Reply" or "Reply to original post", click "Use advanced editor" in the top right corner of the simple editor. In the advanced editor, paste in your code, select it and click on the insert button (looks like this: "&amp;gt;&amp;gt;"), then click "Syntax Highlighting" and choose the appropriate language. You may need to delete some extra empty rows once the code is highlighted.&lt;/P&gt;&lt;P style="font-size: 14.3999996185303px;"&gt;&lt;/P&gt;&lt;P style="font-size: 14.3999996185303px;"&gt;So... yes, it is a pretty convoluted process. Perhaps it will be more straightforward in some future versions of GeoNet. I am sure there is a thread dedicated to this topic.&lt;/P&gt;&lt;P style="font-size: 14.3999996185303px;"&gt;Filip.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 09 Jan 2015 22:18:22 GMT</pubDate>
      <guid>https://community.esri.com/t5/python-questions/python-help-needed-select-polygons-from-one/m-p/353798#M27769</guid>
      <dc:creator>FilipKrál</dc:creator>
      <dc:date>2015-01-09T22:18:22Z</dc:date>
    </item>
  </channel>
</rss>

