Решение с использованием групп регулярных выражений
import re
# Read File into variable
file = "Name Age Grade Jacob 10 60 John 11 75 Matt 13 81"
# Match Name, age, Grade
pattern = re.compile(r'([A-z]+)\s([0-9]+)\s([0-9]+)')
# Create Dictionary Placeholder
dictionary = {}
# For each match split groups into separate vars
for name, age, grade in re.findall(pattern, file):
# Add To Dictionary
dictionary[name] = {
'Age':age,
'Grade':grade
}
print(dictionary)
Выходы
{'Jacob': {'Age': '10', 'Grade': '60'}, 'John': {'Age': '11', 'Grade': '75'}, 'Matt': {'Age': '13', 'Grade': '81'}}
Чтобы прочитать текст в переменную
file = open('textdocument.txt', 'r').read()