python csv打印带有coun的重复帐号

2024-09-26 18:10:55 发布

您现在位置:Python中文网/ 问答频道 /正文

有人能帮我设置一个柜台吗?我知道你可以用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 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})

谢谢


Tags: csvnameimportcounterrrcfrow计数
2条回答

要为所有行创建一个oneCounter和一个onelist,例如:

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
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]

相关问题 更多 >

    热门问题