如何在Python特定文件类型中将文件读入字典

JD3*_*JD3 1 python dictionary while-loop

具体来说,我有一个文本文件,其中排列了多行,以便每个条目的键是组的第一行,后跟其相关值,后跟下一个键之前的换行符.我很难用while循环用readline完成这个.

例如,第一行可以是餐馆名称,后面是几行在那里吃​​的客户,然后我需要在餐馆名称的键下写入字典的值.

我真的不熟悉文件阅读,所以我担心我所拥有的东西根本就没有帮助.

我猜这样的事情,但它甚至没有达到半功能的程度.

编辑:感谢您应该澄清的响应,相应键的每个值项都列在后面的行中,后面的行在下一个键之前的列表末尾有一个空行.不幸的是,我不得不在这里使用readline方法.

    restaurants = {}
    patrons = []

    line = file.readline()
    s = line.strip('\n')

    while s != ''
    restaurant = s
    line = file.readline
    patrons.append(s)
Run Code Online (Sandbox Code Playgroud)

Joh*_*ohn 6

假设您的文本文件看起来像这样

mcdonalds bill bo bob

按照

我有一个文本文件,其中排列了多行,以便每个条目的键是组的第一行,后跟其相关值,后跟换行符

my_dict = {}

with open("rest.txt", 'r') as f:
    for line in f:
        items = line.split()
        key, values = items[0], items[1:]
        my_dict[key] = values


print my_dict
Run Code Online (Sandbox Code Playgroud)

这将产生

{'mcdonalds': ['bill', 'bo', 'bob']}
Run Code Online (Sandbox Code Playgroud)