Try using the python csv library and do something like this:
def get_rows(data_set, fields):
with da.SearchCursor(data_set, fields) as cursor:
for row in cursor:
yield row
if __name__ == "__main__":
data_set = arcpy.GetParameterAsText(0) # feature class/Table
output = arcpy.GetParameterAsText(1) # csv file
desc = arcpy.Describe(data_set)
fieldnames = [f.name for f in desc.fields if f.type not in ["Geometry", "Raster", "Blob"]]
rows = get_rows(data_set, fieldnames)
with open(output,'wb') as out_file:
out_writer = csv.writer(out_file)
out_writer.writerow(fieldnames)
for row in rows:
out_writer.writerow(row)
Hope this gets you in the right direction.