我有一个带有第一行学生姓名的csv文件,其他行是学生的成绩: 大卫,巴拉克,千斤顶 60,80,78 100,50,92
我想创建一个带键的字典=学生姓名和值=平均成绩: {'david':80,'barack':65,'jack':85}
如果我要添加更多学生和/或成绩,我希望代码仍能正常工作。
你会做什么?
THX
答案 0 :(得分:0)
您可以执行以下操作。
import csv
f=open('nameofcsvfile.csv')
reader=csv.reader(f)
d={} #dict to store avg
c=0
name_list=[] #list to store students name
no_of_data=0
for line in reader:
if(c==0):
for j in line:
d[j]=0
name_list.append(j)
c+=1
else:
no_of_data+=1
k=0
for j in line:
d[name_list[k]]=d[name_list[k]]+int(j.strip())
k+=1
for keys in d:
d[keys]=d[keys]/no_of_data
print(d)
希望这有帮助。
答案 1 :(得分:0)
您可以执行以下操作:
import pandas as pd
df = pd.read_csv("filename.csv")
dicts = {}
i=0
for name in df['Names']:
dicts[name] = df['Grades'][i]
i += 1
print(dicts)