import arcpy, os points = "merge_simplified_new" polygons = "Intersect_5x5_reprojected" out_table = "C:\Users\lcdc7\Desktop\ArcGIS\Output" in_features = [points, polygons] intersect_points = "in_memory/intersect_points" arcpy.analysis.Intersect(in_features, intersect_points) fields = ["Grid_ID", "Name"] point_data = [row for row in arcpy.da.SearchCursor(intersect_points , fields)] grid_ids = list(set([p[0] for p in point_data])) try: arcpy.management.Delete(out_table) except: pass arcpy.management.CreateTable(os.path.dirname(out_table), os.path.basename(out_table)) arcpy.management.AddField(out_table, "Grid_ID", "LONG") arcpy.management.AddField(out_table, "Count", "LONG") arcpy.management.AddField(out_table, "Name", "Text") with arcpy.da.InsertCursor(out_table, ["Grid_ID", "Count", "Name"]) as cursor: for grid_id in grid_ids: names_in_polygon = [p[1] for p in point_data if p[0] == grid_id] count = len(names_in_polygon) unique_names = ", ".join(set(names_in_polygon)) cursor.insertRow([grid_id, count, unique_names]) p.s. This is the final code I use.
... View more