好的,我已经尝试了Convert a list to a dictionary in Python中的所有方法,但我似乎无法使其正常工作。我正在尝试将我从.txt文件制作的列表转换为字典。到目前为止,我的代码是:
import os.path
from tkinter import *
from tkinter.filedialog import askopenfilename
import csv
window = Tk()
window.title("Please Choose a .txt File")
fileName = askopenfilename()
classInfoList = []
classRoster = {}
with open(fileName, newline = '') as listClasses:
for line in csv.reader(listClasses):
classInfoList.append(line)
.txt文件的格式为: 教授 类 学生
一个例子是: 怀特教授 Chem 101 Jesse Pinkman,Brandon Walsh,Skinny Pete
我想要的输出是以教授为关键词的字典,然后是价值观的学生的班级和列表。
OUTPUT:
{"Professor White": ["Chem 101", [Jesse Pinkman, Brandon Walsh, Skinny Pete]]}
然而,当我尝试上述帖子中的内容时,我不断收到错误。
我可以在这做什么?
由于
答案 0 :(得分:1)
由于组成字典的数据是连续的行,因此您必须一次处理三行。您可以在文件句柄上使用next()
方法,如下所示:
output = {}
input_file = open('file1')
for line in input_file:
key = line.strip()
value = [next(input_file).strip()]
value.append(next(input_file).split(','))
output[key] = value
input_file.close()
这会给你:
{'Professor White': ['Chem 101',
['Jesse Pinkman, Brandon Walsh, Skinny Pete']]}