我需要计算文件第二列中每个实例的数量,如下所示:
1234;'001';X
1234;'001';X
1234;'003';Y
1280;'001';X
1280;'002';Y
1280;'002';Y
1280;'003';X
我试图解决该问题,但是我的代码显示了输入文件中有多少个元素。
import csv
from collections import Counter
#get line
with open('myFile.txt', 'r') as file:
next(file) #skip header
occurrence = Counter(tuple(row[1:2]) for row in csv.reader(file))
print(occurrence)
with open('myOutputFile.txt', 'w') as file2:
writer = csv.writer(file2)
writer.writerow(['Nr powiatu: ' 'Wystapienia: '])
for occur, count in occurrence.items():
writer.writerow([occur, count])
我需要的输出是: 001-3 002-2 003-2
这只是第二列中特定事件的总和。 我的结果是7
答案 0 :(得分:2)
这是您需要的:
import csv
from collections import Counter
with open('myFile.txt', 'r') as fd:
next(fd)
occurrence = Counter([row[1] for row in csv.reader(fd, delimiter=';')])
print(occurrence)
我认为您缺少分隔符。