I have a CSV file in which contains one column (column1). I want to check whether the element in cell repeats and how many times(occcurance_count).And print count of occurrence in the same CSV file using Python.
In the below example the "241682-27638-USD-OCOF" is not repeating so the count is one, "241942-37190-USD-DIV" is repeated twice so the count is 2 and so on.
Want the output as below in CSV format
column1 ,occcurance_count
1682-27638-USD-OGGCOF ,1
241682-27638-USD-OGGINT ,1
241682-27638-USD-CIGGNT ,1
241682-27638-USD-OCGGINT ,1
241942-37190-USD-GGDIV ,2
241942-37190-USD-CHYOF ,1
241942-37190-USD-EQPL ,1
241942-37190-USD-INT ,1
242066-15343-USD-CYJOF ,3
242066-15343-USD-CYJOF ,3
242066-15343-USD-CYJOF ,3
242066-15343-USD-ETHQPL ,1
242066-15343-USD-INFRT ,1
241942-37190-USD-GGDIV ,2
242066-33492-USD-CJHOF ,1
解决方案
I think below is the code which you are looking for.
logic is simple but lengthier too.
Explanation about logic:
first you need to open csv file for reading and list down all elements in list
Then use list count method to find out number of occurrence of each list item
open the new csv file and write item and count for each item.
Surely there could be optimize way of doing the same thing but here is code which comes quickly.
import csv
import sys
try :
fr = open("mycsv.csv")
fw = open("mscsv_counter.csv", "w")
except:
print "Couldn't open the file"
reader = csv.reader(fr)
counterlist = list()
for row in reader :
# print row
if len(row) > 0 :
counterlist.append(row[0])
#for item in counterlist :
# print counterlist.count(item)
writer = csv.writer(fw)
data = ["column 1", "counter"]
writer.writerow(data)
for item in counterlist :
rowdata = [item, counterlist.count(item)]
# print rowdata
writer.writerow(rowdata)
fr.close();
fw.close();