我遇到了需要某些信息的csv文件的问题。以下是我需要做的:CSV:如果另一列具有特定值,则计算列中的字符串
我有一个有序的这样一个CSV文件:
bla country bla bla value
Germany Y
Germany Y
Germany N
Denmark N
Denmark N
Denmark Y
现在我想与蟒蛇做的是每个Y值是在同一时间计数柱。所以最后我得到了像德国这样的东西:2丹麦:1。
但是我只能够弄清楚如何使用下面的代码数列:
import csv
from collections import Counter, defaultdict
from itertools import imap
from operator import itemgetter
header_counter = defaultdict(Counter)
with open('airlines.csv') as input_file:
r = csv.reader(input_file, delimiter=',')
headers = next(r)
for row in r:
row_val = sum([w.isdigit() for w in row])
for header, val in zip(headers, row):
if not any(map(str.isdigit, val)):
header_counter[header].update({val: row_val})
for k, v in header_counter.iteritems():
print k, v
我甜甜圈认为上面的代码是多大用处的人,虽然,因为它只能算作行每列并过滤掉整数。我能得到的任何帮助都非常感激,我仍然很缺乏经验。
非常感谢!我选择它作为最佳答案,但因为我可以复制粘贴它。当谈到这个问题时,我是一个初学者,所以它非常有帮助,但是我仍然想知道我在哪里可以找到一个教程,我如何处理这个问题,因为我可能会更频繁地这样做。我明白你的代码的作用,但我真的不知道该如何自己写。 – cinderashes