繁体   English   中英

将列表从.txt文件转换为字典

[英]Converting a list from a .txt file into a dictionary

好的,我已经尝试了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文件的格式为:教授班学生

例如:White Chem 101教授Jesse Pinkman,Brandon Walsh,Skinny Pete

我想要的输出将是一本以教授为键的字典,然后是值的班级和学生名单。

OUTPUT: 
{"Professor White": ["Chem 101", [Jesse Pinkman, Brandon Walsh, Skinny Pete]]}

但是,当我尝试以上文章中的内容时,我不断遇到错误。

我在这里可以做什么?

谢谢

由于构成字典的数据是连续的,因此您必须一次处理三行。 您可以在文件句柄上使用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']]}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM