python csv-使用计数器打印重复的帐号
有人能帮我设置一个柜台吗?我知道您可以使用python csv-使用计数器打印重复的帐号,python,csv,row,counter,Python,Csv,Row,Counter,有人能帮我设置一个柜台吗?我知道您可以使用计数器显示任何值的计数。但我想在行迭代时打印计数 以下是我的文件示例: A12000,NAME A12000,NAME A12000,NAME A13000,NAME A14000,NAME A15000,NAME 我想打印: 1,A12000,NAME 2,A12000,NAME 3,A12000,NAME 1,A13000,NAME 1,A14000,NAME 1,A15000,NAME 这就是我所拥有的: import csv from col
计数器
显示任何值的计数。但我想在行迭代时打印计数
以下是我的文件示例:
A12000,NAME
A12000,NAME
A12000,NAME
A13000,NAME
A14000,NAME
A15000,NAME
我想打印:
1,A12000,NAME
2,A12000,NAME
3,A12000,NAME
1,A13000,NAME
1,A14000,NAME
1,A15000,NAME
这就是我所拥有的:
import csv
from collections import Counter
with open('O:/csvdocs/count1.csv', 'rb') as cf:
rr = csv.reader(cf)
for row in rr:
acctnum = []
acctnum.append(row[0])
acctcounter = Counter(acctnum)
print acctcounter
这是打印的内容:
Counter({'A12000': 1})
Counter({'A12000': 1})
Counter({'A12000': 1})
Counter({'A13000': 1})
Counter({'A14000': 1})
Counter({'A15000': 1})
谢谢您想为所有行创建一个计数器
和一个列表
,例如:
with open('O:/csvdocs/count1.csv', 'rb') as cf:
rr = csv.reader(cf)
acctnum = [] # outside loop
for row in rr:
acctnum.append(row[0])
acctcounter = Counter(acctnum) # also outside loop
print acctcounter
对于
A12000,NAME
我想为每个计数器打印/写入一行新行:1,2,3,即:1,A12000,NAME
2,A12000,NAME
3,A12000,NAME
而不是计数器总数这只打印计数器总数。是否有方法在计数器迭代时打印每个计数器,即:1,2,3:1,A12000,NAME
2,A12000,NAME
3,A12000,NAME
是,如果您添加到计数器而不是创建新的计数器。
from collections import Counter
with open('O:/csvdocs/count1.csv', 'rb') as cf:
count = Counter(cf.readlines())
with open("file.csv",'wb') as w:
[[w.write("{},{}".format(i,key)) for i in range(1,count[key]+1)] for key in count]