I'm using the old (not da) cursors. I'm sure there are quicker ways using the arcpy.da cursors but I'm more familiar with the old style..
import sys, arcpy
InFeatClass = sys.argv[1]
OutFeatClass = sys.argv[2]
# overwriting output is ok.
arcpy.env.overwriteOutput = True
# copy the count = 1 features to create a new feature class, saves having to do
# new feature class, copy spatial reference and fields..
arcpy.Select_analysis(InFeatClass,OutFeatClass,"count = 1")
# setup cursor objects - search the source, isert the destination
InsCur = arcpy.InsertCursor(OutFeatClass)
SrchCur = arcpy.SearchCursor(InFeatClass,"Count > 1")
# get the list of fields to copy
FieldList = arcpy.ListFields(InFeatClass,"*")
NoCalcFields = ["FID","OBJECTID","SHAPE"]
for InRow in SrchCur:
# create a range and then iterate over it
# inserting a new row for each count
CountRange = range(InRow.count)
for indx in CountRange:
newRow = InsCur.newRow() # create a new (empty) feature
# copy values from the source to the destination
for ThisField in FieldList:
if ThisField.name.upper() not in NoCalcFields:
newRow.setValue(ThisField.name,InRow.getValue(ThisField.name))
# copy the shape
newRow.setValue("SHAPE",InRow.getValue("SHAPE"))
# Store it
InsCur.insertRow(newRow)
Have a read of http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#//00150000001r000000.htm if you have trouble making this a tool. I ran it on command line and it worked just fine!