01 初始数据
第1列是各位玩家,第2列是玩家所使用的角色,总共造了290条数据集
02 统计数据
以玩家的维度分类,统计峡谷角色“法师”、“刺客”、“战士”、“射手”、“辅助” 角色个数。
03 python代码
import csv
# 用csv标准库读取
csv_reader=csv.reader(open("/Users/juan.chen/Desktop/全球冠军/python/陈娟python学习/1.csv"))
for rowin csv_reader:
print(row)
# 数据集路径
datapath1='/Users/juan.chen/Desktop/全球冠军/python/陈娟python学习/1.csv'
datapath2='/Users/juan.chen/Desktop/全球冠军/python/陈娟python学习/2.csv'
def run_main():
resultlist = {}
c0 ={'法师'}# '法师'的可能取值
c1 ={'刺客'}# '刺客'的可能取值
c2 = {'战士'}# '战士'的可能取值
c3 = {'射手'}# '射手'的可能取值
c4 = {'辅助'}# '辅助'的可能取值
# 构造统计结果的数据结果 resultlist
# 每个元素是键值对,"键"是"玩家",'值'是列表结构
# 列表的第一个数是该玩家法师统计数,第二个数是该玩家刺客统计数,
with open(datapath1,'r')as file:
datas= csv.reader(file)
for i, datain enumerate(datas):
if i==0:
continue
name=data[0]
character=data[1]
if namenot in resultlist:# 判断键是否存在
resultlist[name]=[0,0,0,0,0,]# 字典里初始化键值
if characterin c0:
resultlist[name][0] +=1
elif characterin c1:
resultlist[name][1] +=1
elif characterin c2:
resultlist[name][2] +=1
elif characterin c3:
resultlist[name][3] +=1
elif characterin c4:
resultlist[name][4] +=1
else:
pass
# 将结果写入文件
with open(datapath2,'w')as file:
result=csv.writer(file,delimiter=',')
result.writerow(['玩家','法师','刺客','战士','射手','辅助'])# 写入表头
for k,vin list(resultlist.items()):# 写入统计结果
result.writerow([k,v[0],v[1],v[2],v[3],v[4]])
if __name__=='__main__':
run_main()
公众号:仙女婆婆的那些产品事
学习总结,欢迎关注交流