Hello,
So I am first running a summary statistics to get the information I need and then the next step of the tool is to modify the table fields so I can get the field alias I want. This is done by creating new fields, doing calculations, etc. Here is my code:
<SPAN class="keyword token">import</SPAN> arcpy
<SPAN class="keyword token">import</SPAN> os
<SPAN class="keyword token">import</SPAN> arcpy<SPAN class="punctuation token">.</SPAN>mapping <SPAN class="keyword token">as</SPAN> map
<SPAN class="keyword token">from</SPAN> arcpy <SPAN class="keyword token">import</SPAN> env
<SPAN class="keyword token">import</SPAN> datetime
arcpy<SPAN class="punctuation token">.</SPAN>env<SPAN class="punctuation token">.</SPAN>overwriteOutput <SPAN class="operator token">=</SPAN> <SPAN class="token boolean">True</SPAN>
fiberFeatures <SPAN class="operator token">=</SPAN> r<SPAN class="string token">'sdm_Fiber Segments'</SPAN>
date <SPAN class="operator token">=</SPAN> datetime<SPAN class="punctuation token">.</SPAN>date<SPAN class="punctuation token">.</SPAN>today<SPAN class="punctuation token">(</SPAN><SPAN class="punctuation token">)</SPAN>
reportsGDB <SPAN class="operator token">=</SPAN> r<SPAN class="string token">'C:\Users\vshah\Desktop\Test Folder\test_output.gdb'</SPAN>
reportsFolder <SPAN class="operator token">=</SPAN> r<SPAN class="string token">'C:\Users\vshah\Desktop\Test Folder'</SPAN>
inLayer <SPAN class="operator token">=</SPAN> fiberFeatures
outputName <SPAN class="operator token">=</SPAN> <SPAN class="string token">'fiber_summary'</SPAN>
outLayer <SPAN class="operator token">=</SPAN> reportsGDB <SPAN class="operator token">+</SPAN> <SPAN class="string token">"/"</SPAN> <SPAN class="operator token">+</SPAN> outputName
statsFields <SPAN class="operator token">=</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="punctuation token">[</SPAN><SPAN class="string token">"Feet"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"SUM"</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="string token">"Miles"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"SUM"</SPAN><SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">]</SPAN>
caseFields <SPAN class="operator token">=</SPAN> <SPAN class="punctuation token">[</SPAN><SPAN class="string token">"NetworkID"</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"ProjectID"</SPAN><SPAN class="punctuation token">]</SPAN>
arcpy<SPAN class="punctuation token">.</SPAN>Statistics_analysis<SPAN class="punctuation token">(</SPAN>inLayer<SPAN class="punctuation token">,</SPAN> outLayer<SPAN class="punctuation token">,</SPAN> statsFields<SPAN class="punctuation token">,</SPAN> caseFields<SPAN class="punctuation token">)</SPAN>
in_table <SPAN class="operator token">=</SPAN> reportsGDB <SPAN class="operator token">+</SPAN><SPAN class="string token">"\\"</SPAN> <SPAN class="operator token">+</SPAN> <SPAN class="string token">'fiber_summary'</SPAN>
deleteField <SPAN class="operator token">=</SPAN> <SPAN class="string token">"FREQUENCY"</SPAN>
fieldList <SPAN class="operator token">=</SPAN> arcpy<SPAN class="punctuation token">.</SPAN>ListFields<SPAN class="punctuation token">(</SPAN>in_table<SPAN class="punctuation token">)</SPAN>
length <SPAN class="operator token">=</SPAN> len<SPAN class="punctuation token">(</SPAN>fieldList<SPAN class="punctuation token">)</SPAN> <SPAN class="operator token">-</SPAN> <SPAN class="number token">2</SPAN> <SPAN class="comment token">##subtracting 2 to account for the field being deleted when the modification is executed and to not count the Object ID field.</SPAN>
arcpy<SPAN class="punctuation token">.</SPAN>DeleteField_management<SPAN class="punctuation token">(</SPAN>in_table<SPAN class="punctuation token">,</SPAN> deleteField<SPAN class="punctuation token">)</SPAN>
alias_dict <SPAN class="operator token">=</SPAN> <SPAN class="punctuation token">{</SPAN><SPAN class="number token">1</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="string token">'Network ID'</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">2</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="string token">'Project ID'</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">3</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="string token">'Total Feet'</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="number token">4</SPAN><SPAN class="punctuation token">:</SPAN> <SPAN class="string token">'Total Miles'</SPAN><SPAN class="punctuation token">}</SPAN>
<SPAN class="keyword token">for</SPAN> i<SPAN class="punctuation token">,</SPAN> field <SPAN class="keyword token">in</SPAN> enumerate<SPAN class="punctuation token">(</SPAN>fieldList<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">:</SPAN>
<SPAN class="keyword token">if</SPAN> field<SPAN class="punctuation token">.</SPAN>type <SPAN class="operator token">!=</SPAN> <SPAN class="string token">'OID'</SPAN> <SPAN class="operator token">and</SPAN> i <SPAN class="operator token"><=</SPAN> length<SPAN class="punctuation token">:</SPAN>
newfield <SPAN class="operator token">=</SPAN> <SPAN class="string token">'{}new'</SPAN><SPAN class="punctuation token">.</SPAN>format<SPAN class="punctuation token">(</SPAN>field<SPAN class="punctuation token">.</SPAN>name<SPAN class="punctuation token">)</SPAN>
arcpy<SPAN class="punctuation token">.</SPAN>AddField_management<SPAN class="punctuation token">(</SPAN>in_table<SPAN class="punctuation token">,</SPAN> newfield<SPAN class="punctuation token">,</SPAN> field<SPAN class="punctuation token">.</SPAN>type<SPAN class="punctuation token">,</SPAN> field<SPAN class="punctuation token">.</SPAN>precision<SPAN class="punctuation token">,</SPAN>
field<SPAN class="punctuation token">.</SPAN>scale<SPAN class="punctuation token">,</SPAN> field<SPAN class="punctuation token">.</SPAN>length<SPAN class="punctuation token">,</SPAN> alias_dict<SPAN class="punctuation token">[</SPAN>i<SPAN class="punctuation token">]</SPAN><SPAN class="punctuation token">,</SPAN> field<SPAN class="punctuation token">.</SPAN>isNullable<SPAN class="punctuation token">,</SPAN> field<SPAN class="punctuation token">.</SPAN>required<SPAN class="punctuation token">,</SPAN> field<SPAN class="punctuation token">.</SPAN>domain<SPAN class="punctuation token">)</SPAN>
arcpy<SPAN class="punctuation token">.</SPAN>CalculateField_management<SPAN class="punctuation token">(</SPAN>in_table<SPAN class="punctuation token">,</SPAN> newfield<SPAN class="punctuation token">,</SPAN> <SPAN class="string token">'!{}!'</SPAN><SPAN class="punctuation token">.</SPAN>format<SPAN class="punctuation token">(</SPAN>field<SPAN class="punctuation token">.</SPAN>name<SPAN class="punctuation token">)</SPAN><SPAN class="punctuation token">,</SPAN> <SPAN class="string token">"PYTHON_9.3"</SPAN><SPAN class="punctuation token">)</SPAN>
arcpy<SPAN class="punctuation token">.</SPAN>DeleteField_management<SPAN class="punctuation token">(</SPAN>in_table<SPAN class="punctuation token">,</SPAN> field<SPAN class="punctuation token">.</SPAN>name<SPAN class="punctuation token">)</SPAN><SPAN class="line-numbers-rows"><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN><SPAN></SPAN></SPAN>After this will be a simple export to excel sheet. However when I get to this portion of the script, I get ERROR 000539: Invalid field FREQUENCY even though it is being deleted before it gets to creating new fields. Any thoughts on how to solve this or any help you can offer?