У меня есть набор данных оценок учеников в формате CSV следующим образом:
data = '''student,maths,science,english,nepali,computer
John,57,77,73,50,55
Mark,52,66,89,78,50
Ben,57,85,53,87,53
Toby,90,63,64,76,58
Anna,52,97,88,81,51'''
Я хочу преобразовать его во вложенный list
, используя следующий процесс:
- Удалите первую строку, а также имена учеников, которые являются первыми элементами каждой последующей строки
- Преобразование всех оставшихся элементов, представляющих знаки, в целые числа
Я хотел бы сделать это с list
пониманием.
Желаемый вывод:
[[57, 77, 73, 50, 55],
[52, 66, 89, 78, 50],
[57, 85, 53, 87, 53],
[90, 63, 64, 76, 58],
[52, 97, 88, 81, 51]]
Я пробовал следующий код ( работает , но без использованияпонимание списка):
def read_data(file_name):
'''function to read data from a file, process it and store
it in a data matrix (2D list)
returns the data matrix'''
file = open(file_name,"r")
data = file.readlines()
file.close()
mat = []
for line in data:
mat.append(line.replace("\n","").split(","))
for i in range(1,len(mat)):
for j in range(1,len(mat[i])):
mat[i][j] = int(mat[i][j])
return mat