所以我在家庭作业上有一个问题,就是要求用一个文本文件来创建一个字典,其中包含作为学生姓名和相应值的字符作为NumPy 1维矩阵。
文本文件的格式如下:
John 23 53 54 56 58
Jane 89 54 56 76 93
Marie-Claire 56 68 76 86 92
所有姓名都是一个单词或一个名称,并且所有学生在他们的文件行上都有相同的成绩。问题是我无法弄清楚如何只使用文本文件中每行的第一个单词(名称)作为关键。这是我的尝试:
def student_grade(filename):
with open('filename','r') as file:
Grade_Dict = {}
for line in file:
words = line.split(' ')
Grade_Dict[words[0]]= np.array(words[1:])
注意:问题是要求制作字典并在函数中读取文件。
我只是对如何测试我是否有任何正确的代码感到困惑。
答案 0 :(得分:0)
您可以尝试这样的事情:
grade={}
with open('file.txt','r') as f:
for line in f:
data=line.split()
grade[data[0]]=np.array(list(map(int,data[1:])))
print(grade)
输出:
{'Marie-Claire': array([56, 68, 76, 86, 92]), 'Jane': array([89, 54, 56, 76, 93]), 'John': array([23, 53, 54, 56, 58])}
如果您不想在int中使用数字:
grade={}
with open('file.txt','r') as f:
for line in f:
data=line.split()
grade[data[0]]=np.array(data[1:])
print(grade)