如何打开txt作为字典?

2024-05-03 03:06:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下文件。。。(我已存为字典)

"{'03/01/20': ['luiana','macarena']}\n"
"{'03/01/21': ['juana','roberta','mariana']}\n"
"{'03/01/24': ['pedro','jose','mario','luis']}\n"
"{'03/01/24': ['pedro','jose','mario','luis']}\n"
"{'03/01/22': ['emanuel']}\n"

问题是我想把它当字典打开,但我不知道怎么做。我试过:

f = open ('usuarios.txt','r')
lines=f.readlines()
whip=eval(str(lines))

但它不起作用。。。我的想法是以第二天03/01/24的字典为例


Tags: 文件字典openlinesjoseluisemanuelpedro
2条回答

如果您希望只有一个dict和所有保存的词典,您可以使用:

import ast

my_dict = {}
with open('your_file.txt', 'r') as fp:
    for line in fp.readlines():
        new_dict = ast.literal_eval(line)
        for key, value in new_dict.items():
            if key in my_dict:
                my_dict[key].extend(value)
            else:
                my_dict[key] = value

print(my_dict)

输出:

{'03/01/20': ['luiana', 'macarena'], '03/01/21': ['juana', 'roberta', 'mariana'], '03/01/24': ['pedro', 'jose', 'mario', 'luis', 'pedro', 'jose', 'mario', 'luis'], '03/01/22': ['emanuel']}

如果你能改变保存字符串的格式

"{'03/01/20': ['luiana','macarena']}\n"

'{"03/01/20": ["luiana","macarena"]}\n'

然后你可以做以下事情:

import json

line = '{"03/01/20": ["luiana","macarena"]}\n'
d = json.loads('{"03/01/20": ["luiana","macarena"]}\n')

结果将是一个以日期为键的字典d:

>>> {'03/01/20': ['luiana', 'macarena']}

他们,这将只是一个问题,循环在您的文件行,并将它们添加到您的字典。 另一种方法是使用pickle来保存字典,而不是使用.txt,他们使用它从磁盘加载。你知道吗

相关问题 更多 >