我想计算 CSV 文件中男性和女性骑手的数量(编码为 1 或 2),但我的代码似乎不起作用。这是我的代码:
Men = 0
Women = 0
import csv
with open('dec2week.csv') as csvfile:
reader = csv.DictReader(csvfile)
for row in reader:
print(row['gender'])
if 'gender' == 1:
'gender'Men += 1
esle:
'gender'Women += 1
print "Count for Men: ", Men
print "Count for women: ", Women
最佳答案
使用 Counter dict 进行计数:
import csv
from collections import Counter
from itertools import chain
with open('dec2week.csv') as csvfile:
next(csvfile)
counts = Counter(chain.from_iterable(csv.reader(csvfile)))
然后使用 key 获取计数:
print("Total male = {}".format(counts["1"]))
print("Total female = {}".format(counts["2"]))
要使用特定的列,要么为每一行编制索引,要么使用您的 DictReader 方法:
counts = Counter(row["gender"] for row in csv.DictReader(csvfile))
使用您的 for 循环,您需要按键访问并将返回的值与“1”进行比较:
with open('dec2week.csv') as csvfile:
m,f = 0,0
for row in csv.DictReader(csvfile):
if row["gender"] == "1":
m += 1
else:
f += 1
print("Total male = {}".format(m))
print("Total female = {}".format(f))
关于python - 从 CSV 文件中计算男性和女性的数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31706090/