As part of my script, I am use arcpy.Frequency_analysis to summarize some values. When run interactively, it automatically adds the table. In the script, the table is created (and I get back "Exists", but does not add it.
I am using the sample in the TableView—Help | ArcGIS for Desktop
If I run the tool, it does tell me the table exists, so runs the arcpy.mapping.AddTableView command, but the table is not added. If I rerun the exact script from the Results table, it adds the table on the second run. Strange
It's a very fast script, so a rerun is not a big deal (nor is dragging the table over to add), but for future use by other users, it would be nice if it worked as expected.
Any suggestions?
# ...
# running frequency to get length summary
sum_table = arcpy.os.path.join(theWorkspace, "{0}_SumLen".format(fishnetFCdd))
arcpy.Frequency_analysis(fishnetFCdd, sum_table, "TransType", "Len_m;Len_km")
sum_tableview = arcpy.mapping.TableView(sum_table)
# If running this in ArcMap, can add the new layer...will have to manually save at least during testing
# if not in ArcMap, will skip.
print(" If running in ArcMap, will add the two pts files.")
try:
# my variables finalOutdd and finalOutProj are set to full paths of the output
mxd = arcpy.mapping.MapDocument("CURRENT")
except RuntimeError:
print("Not using ArcMap")
else:
df = arcpy.mapping.ListDataFrames(mxd)[0]
layerList = [fishnetFC, fishnetFCdd]
for layer in layerList:
addLayer = arcpy.mapping.Layer(layer)
if arcpy.Exists(addLayer):
arcpy.mapping.AddLayer(df, addLayer, "TOP")
print("-> Added {0} to map.".format(layer)) #, finalLayer))
if arcpy.Exists(sum_table):
print("exists")
arcpy.mapping.AddTableView(df, sum_tableview)
#arcpy.mapping.AddTableView(df, sum_tableview) #tried this, didn't work
else:
print("can't find it")
#mxd.save() #haven't needed this
#....