I have this code that performs a Summarize Within on all company stores for every month of the year. However, not all the stores were open in some of the early months so I need to write some code that will identify that the "USER_PatientVisits" is equal to zero and then skip that store and move on to the next. I'm thinking this can be accomplished using an "If" statement and probably a loop; however, I'm not sure what exactly to write and how to bring it all together.
Here is the top portion of my code for January and February; the full code continues on through December:
<SPAN class="keyword token">import</SPAN> arcpy
<SPAN class="keyword token">import</SPAN> sys
<SPAN class="keyword token">import</SPAN> os
<SPAN class="keyword token">import</SPAN> datetime
<SPAN class="comment token">#now = datetime.datetime.now()</SPAN>
arcpy<SPAN class="punctuation token">.</SPAN>env<SPAN class="punctuation token">.</SPAN>overwriteOutput <SPAN class="operator token">=</SPAN> <SPAN class="token boolean">True</SPAN>
<SPAN class="comment token">#Set the workspace</SPAN>
<SPAN class="keyword token">from</SPAN> arcpy <SPAN class="keyword token">import</SPAN> env
env<SPAN class="punctuation token">.</SPAN>workspace <SPAN class="operator token">=</SPAN> r<SPAN class="string token">"C:\arcGIS_Shared\Python\CenterHeatMaps.gdb"</SPAN>
<SPAN class="comment token">#Declare variables</SPAN>
fc <SPAN class="operator token">=</SPAN> <SPAN class="string token">'Open_Store_Centers'</SPAN>
fields <SPAN class="operator token">=</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="string token">'USER_market_id'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'USER_Store_ID'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'USER_Store_Center_Name'</SPAN><SPAN class="punctuation token">]</SPAN>
fieldname <SPAN class="operator token">=</SPAN> <SPAN class="string token">'USER_market_id'</SPAN>
<SPAN class="comment token">#Define WHERE clause statement</SPAN>
whereclause <SPAN class="operator token">=</SPAN> <SPAN class="string token">"""{} = 2000"""</SPAN><SPAN class="punctuation token">.</SPAN>format<SPAN class="punctuation token">(</SPAN>arcpy<SPAN class="punctuation token">.</SPAN>AddFieldDelimiters<SPAN class="punctuation token">(</SPAN>fc<SPAN class="punctuation token">,</SPAN> fieldname<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">)</SPAN>
<SPAN class="comment token">#Cursor to create list of centers to loop through</SPAN>
cursor <SPAN class="operator token">=</SPAN> arcpy<SPAN class="punctuation token">.</SPAN>da<SPAN class="punctuation token">.</SPAN>SearchCursor<SPAN class="punctuation token">(</SPAN>in_table <SPAN class="operator token">=</SPAN> fc<SPAN class="punctuation token">,</SPAN> field_names <SPAN class="operator token">=</SPAN> fields<SPAN class="punctuation token">,</SPAN> where_clause<SPAN class="operator token">=</SPAN>whereclause<SPAN class="punctuation token">,</SPAN> sql_clause<SPAN class="operator token">=</SPAN><SPAN class="punctuation token">(</SPAN>None<SPAN class="punctuation token">,</SPAN> <SPAN class="string token">'ORDER BY USER_market_id, USER_Store_ID'</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">)</SPAN>
<SPAN class="comment token">#Loop to run SummarizeWithin by center</SPAN>
<SPAN class="keyword token">for</SPAN> row <SPAN class="keyword token">in</SPAN> <SPAN class="punctuation token">(</SPAN>cursor<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">:</SPAN>
<SPAN class="comment token"># Set variables for SummarizeWithin</SPAN>
<SPAN class="comment token"># Specify type of summarization, either Blocks or ZIPS, as part of the polys argument</SPAN>
polys <SPAN class="operator token">=</SPAN> <SPAN class="string token">"Market{0}"</SPAN><SPAN class="punctuation token">.</SPAN>format<SPAN class="punctuation token">(</SPAN>row<SPAN class="punctuation token">[</SPAN><SPAN class="number token">0</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="operator token">+</SPAN><SPAN class="string token">"Blocks"</SPAN>
points <SPAN class="operator token">=</SPAN> <SPAN class="string token">"Jan_NWPatientVisits{0}"</SPAN><SPAN class="punctuation token">.</SPAN>format<SPAN class="punctuation token">(</SPAN>row<SPAN class="punctuation token">[</SPAN><SPAN class="number token">0</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="operator token">+</SPAN><SPAN class="string token">"{0}"</SPAN><SPAN class="punctuation token">.</SPAN>format<SPAN class="punctuation token">(</SPAN>row<SPAN class="punctuation token">[</SPAN><SPAN class="number token">2</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">)</SPAN>
outFeatureClass <SPAN class="operator token">=</SPAN> <SPAN class="string token">"Jan_NWSumWithin{0}"</SPAN><SPAN class="punctuation token">.</SPAN>format<SPAN class="punctuation token">(</SPAN>row<SPAN class="punctuation token">[</SPAN><SPAN class="number token">0</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="operator token">+</SPAN><SPAN class="string token">"{0}"</SPAN><SPAN class="punctuation token">.</SPAN>format<SPAN class="punctuation token">(</SPAN>row<SPAN class="punctuation token">[</SPAN><SPAN class="number token">2</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">)</SPAN>
keepAll <SPAN class="operator token">=</SPAN> <SPAN class="string token">'ONLY_INTERSECTING'</SPAN>
sumFields <SPAN class="operator token">=</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="punctuation token">[</SPAN><SPAN class="string token">'USER_VisitCount'</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">'Sum'</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">]</SPAN>
addShapeSum <SPAN class="operator token">=</SPAN> <SPAN class="string token">'ADD_SHAPE_SUM'</SPAN>
arcpy<SPAN class="punctuation token">.</SPAN>SummarizeWithin_analysis<SPAN class="punctuation token">(</SPAN>polys<SPAN class="punctuation token">,</SPAN> points<SPAN class="punctuation token">,</SPAN> outFeatureClass<SPAN class="punctuation token">,</SPAN> keepAll<SPAN class="punctuation token">,</SPAN> sumFields<SPAN class="punctuation token">,</SPAN> addShapeSum<SPAN class="punctuation token">,</SPAN> <SPAN class="string token">''</SPAN><SPAN class="punctuation token">)</SPAN>
<SPAN class="comment token">#Print Results</SPAN>
<SPAN class="keyword token">print</SPAN><SPAN class="punctuation token">(</SPAN>row<SPAN class="punctuation token">[</SPAN><SPAN class="number token">2</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">)</SPAN>
<SPAN class="comment token"># print("SumWithin Elapsed Time:" + SumWithinruntime)</SPAN>
<SPAN class="comment token"># count = arcpy.GetMessageCount()</SPAN>
<SPAN class="comment token"># print (arcpy.GetMessage(count-2))</SPAN>
<SPAN class="keyword token">print</SPAN> <SPAN class="punctuation token">(</SPAN>arcpy<SPAN class="punctuation token">.</SPAN>GetMessages<SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">)</SPAN>
<SPAN class="comment token">#Declare variables</SPAN>
fc <SPAN class="operator token">=</SPAN> <SPAN class="string token">'Open_Store_Centers'</SPAN>
fields <SPAN class="operator token">=</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="string token">'USER_market_id'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'USER_Store_ID'</SPAN><SPAN class="punctuation token">,</SPAN><SPAN class="string token">'USER_Store_Center_Name'</SPAN><SPAN class="punctuation token">]</SPAN>
fieldname <SPAN class="operator token">=</SPAN> <SPAN class="string token">'USER_market_id'</SPAN>
<SPAN class="comment token">#Define WHERE clause statement</SPAN>
whereclause <SPAN class="operator token">=</SPAN> <SPAN class="string token">"""{} = 2000"""</SPAN><SPAN class="punctuation token">.</SPAN>format<SPAN class="punctuation token">(</SPAN>arcpy<SPAN class="punctuation token">.</SPAN>AddFieldDelimiters<SPAN class="punctuation token">(</SPAN>fc<SPAN class="punctuation token">,</SPAN> fieldname<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">)</SPAN>
<SPAN class="comment token">#Cursor to create list of centers to loop through</SPAN>
cursor <SPAN class="operator token">=</SPAN> arcpy<SPAN class="punctuation token">.</SPAN>da<SPAN class="punctuation token">.</SPAN>SearchCursor<SPAN class="punctuation token">(</SPAN>in_table <SPAN class="operator token">=</SPAN> fc<SPAN class="punctuation token">,</SPAN> field_names <SPAN class="operator token">=</SPAN> fields<SPAN class="punctuation token">,</SPAN> where_clause<SPAN class="operator token">=</SPAN>whereclause<SPAN class="punctuation token">,</SPAN> sql_clause<SPAN class="operator token">=</SPAN><SPAN class="punctuation token">(</SPAN>None<SPAN class="punctuation token">,</SPAN> <SPAN class="string token">'ORDER BY USER_market_id, USER_Store_ID'</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">)</SPAN>
<SPAN class="comment token">#Loop to run SummarizeWithin by center</SPAN>
<SPAN class="keyword token">for</SPAN> row <SPAN class="keyword token">in</SPAN> <SPAN class="punctuation token">(</SPAN>cursor<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">:</SPAN>
<SPAN class="comment token"># Set variables for SummarizeWithin</SPAN>
<SPAN class="comment token"># Specify type of summarization, either Blocks or ZIPS, as part of the polys argument</SPAN>
polys <SPAN class="operator token">=</SPAN> <SPAN class="string token">"Market{0}"</SPAN><SPAN class="punctuation token">.</SPAN>format<SPAN class="punctuation token">(</SPAN>row<SPAN class="punctuation token">[</SPAN><SPAN class="number token">0</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="operator token">+</SPAN><SPAN class="string token">"Blocks"</SPAN>
points <SPAN class="operator token">=</SPAN> <SPAN class="string token">"Feb_NWPatientVisits{0}"</SPAN><SPAN class="punctuation token">.</SPAN>format<SPAN class="punctuation token">(</SPAN>row<SPAN class="punctuation token">[</SPAN><SPAN class="number token">0</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="operator token">+</SPAN><SPAN class="string token">"{0}"</SPAN><SPAN class="punctuation token">.</SPAN>format<SPAN class="punctuation token">(</SPAN>row<SPAN class="punctuation token">[</SPAN><SPAN class="number token">2</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">)</SPAN>
outFeatureClass <SPAN class="operator token">=</SPAN> <SPAN class="string token">"Feb_NWSumWithin{0}"</SPAN><SPAN class="punctuation token">.</SPAN>format<SPAN class="punctuation token">(</SPAN>row<SPAN class="punctuation token">[</SPAN><SPAN class="number token">0</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="operator token">+</SPAN><SPAN class="string token">"{0}"</SPAN><SPAN class="punctuation token">.</SPAN>format<SPAN class="punctuation token">(</SPAN>row<SPAN class="punctuation token">[</SPAN><SPAN class="number token">2</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">)</SPAN>
keepAll <SPAN class="operator token">=</SPAN> <SPAN class="string token">'ONLY_INTERSECTING'</SPAN>
sumFields <SPAN class="operator token">=</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="punctuation token">[</SPAN><SPAN class="string token">'USER_VisitCount'</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">'Sum'</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">]</SPAN>
addShapeSum <SPAN class="operator token">=</SPAN> <SPAN class="string token">'ADD_SHAPE_SUM'</SPAN>
arcpy<SPAN class="punctuation token">.</SPAN>SummarizeWithin_analysis<SPAN class="punctuation token">(</SPAN>polys<SPAN class="punctuation token">,</SPAN> points<SPAN class="punctuation token">,</SPAN> outFeatureClass<SPAN class="punctuation token">,</SPAN> keepAll<SPAN class="punctuation token">,</SPAN> sumFields<SPAN class="punctuation token">,</SPAN> addShapeSum<SPAN class="punctuation token">,</SPAN> <SPAN class="string token">''</SPAN><SPAN class="punctuation token">)</SPAN>
<SPAN class="comment token">#Print Results</SPAN>
<SPAN class="keyword token">print</SPAN><SPAN class="punctuation token">(</SPAN>row<SPAN class="punctuation token">[</SPAN><SPAN class="number token">2</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">)</SPAN>
<SPAN class="comment token"># print("SumWithin Elapsed Time:" + SumWithinruntime)</SPAN>
<SPAN class="comment token"># count = arcpy.GetMessageCount()</SPAN>
<SPAN class="comment token"># print (arcpy.GetMessage(count-2))</SPAN>
<SPAN class="keyword token">print</SPAN> <SPAN class="punctuation token">(</SPAN>arcpy<SPAN class="punctuation token">.</SPAN>GetMessages<SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">)</SPAN>