我正在尝试迭代一个包含一些重复元素的列表。我正在使用重复的数量,所以我不想在迭代列表之前将列表放入一个集合中。
我试图计算元素出现了多少次,然后写下元素(名称)和它出现的次数。
我遇到的问题是,在我的输出 CSV 文件中,行数与元素出现的次数一样多。我在完成后将 CSV 写入 HTML 表,因此我希望对其进行重复数据删除。
我的最终目标是计算名称出现的次数,然后在包含名称和计数的 CSV 文件中写入一行,然后移至列表中的下一个名称。
我尝试搜索并遇到了,itertools.groupby
但我不确定这在这种情况下是否有用,如果有用,如何正确使用它。
谢谢您的帮助。
编辑:我忘了提 - Python 2.6
with open(sys.argv[1]) as infile:
rdr = csv.DictReader(infile, dialect='excel')
qualsin = []
headers = ['Qualifier Name','Appointments']
for row in rdr:
row['Qualifier Name'] = row['Qualifier Name'].upper()
qualsin.append(row['Qualifier Name'])
qualsin.sort()
#total = 0
with open('tempwork.csv', 'w') as tempwork:
wrtr = csv.writer(tempwork, dialect='excel')
wrtr.writerow(headers)
for quals in qualsin:
d = [quals, qualsin.count(quals)]
#a = dict((key, value) for (key, value) in d)
#total += qualsin.count(quals)
wrtr.writerow(d)