使用双字典从文本文件中访问数据

时间:2017-05-31 10:23:15

标签: python dictionary

我有一个包含

等数据的文本文件
{"0":{"Name":"ABC","Age":30,"City":"XYZ"},"1":{"Name":"LMN","Age":20,"City":"PQR"}}

我想导入此文本文件并阅读字典。

file = open('text_file.txt','r')

dictn = eval(file.read())

print(dictn)

此代码。但没有得到正确的结果。

任何人都可以告诉我如何阅读这种使用Python在其中包含双字典的文件。

提前谢谢

4 个答案:

答案 0 :(得分:0)

您看到的是JSON文件,您只需使用:

import json

with open('text_file.txt','r') as file:
    dictn = json.load(file)
print(dictn)

答案 1 :(得分:0)

这是一个JSON对象,您可以通过以下方式阅读:

Object.keys

答案 2 :(得分:0)

您也可以使用literal_eval模块中的ast,而不是使用不安全的eval

这是一个如何做到这一点的例子:

from ast import literal_eval as le

with open("new_data", 'r') as fp:
    data = le(fp.read())

print(data)

输出:

{'0': {'Age': 30, 'City': 'XYZ', 'Name': 'ABC'}, '1': {'Age': 20, 'City': 'PQR', 'Name': 'LMN'}}

答案 3 :(得分:0)

您还可以使用yaml中的pyyaml库:

导入yaml

with open('text_file.txt', 'r') as f:
    dictn = f.read()
    print(dictn)
    print(type(dictn))
    result = yaml.load(dictn)
    print(result)
    print(type(result))