我有一个包含
等数据的文本文件{"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在其中包含双字典的文件。
提前谢谢
答案 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))