data = [] with open("etudiants.txt") as f: keys = None for line in f: l = [w.strip() for w in line.split(';')] if keys is None: keys = l else: data.append({k:v for k, v in zip(keys, l)}) print(data)