我正试图从文本文件中获取存储在列表中的字典
我搜索了一个json
函数,该函数可以分隔字符串并将其保存在列表(字典列表)中,但是我不知道是否存在类似的内容。
txt:
[{"Principal": ["Jhon","Anderson","40"]}, {"Secretary": ["Marie","Garcia","29"]},{"Councilor": ["Alan", "Smith","33"]}]
邮政编码:
stringvar=textfile.read()
//或以下功能
dictionaries=json.loads(textfile.read())
otherlist=dictionaries
答案 0 :(得分:0)
首先,这些文件称为json文件。
您可以打开它们并阅读为:
import json
f = open("results/results.json")
data = json.load(f)
json文件中的方括号定义一个数组,而curl将对象括起来。前者将转换为python列表,后者将转换为字典。
因此,在您的情况下,data
将是词典列表。
您可以使用字典类keys()
,values()
的方法来获取值和键,或者同时获取items()
。
为完整起见,您的json元素应具有相同的结构,仅应更改字段。例如,考虑一个元素:
{"role" : "Principal",
"name: : "Jhon",
"surname. : "Anderson",
"age": 40}
通过这种方式,您可以更轻松地遍历json
答案 1 :(得分:0)
如果您希望从Python的txt
文件中加载字典列表,则可以使用literal_eval
模块中的ast
函数来计算表达式文件中字符串的位置:
import ast
data = []
with open("data.txt", "r") as inFile:
data = ast.literal_eval(inFile.read())