Как прочитать список диктовок из текстового файла - PullRequest
0 голосов
/ 13 января 2019

Я пытаюсь получить из текстового файла словари, хранящиеся в списке

Я искал функцию json, которая может отделить строку и сохранить ее в списке (списке словарей), но я не знаю, есть ли что-то подобное.

.txt

[{"Principal": ["Jhon","Anderson","40"]}, {"Secretary": ["Marie","Garcia","29"]},{"Councilor": ["Alan", "Smith","33"]}]

код:

stringvar=textfile.read()

// для или функция ниже

dictionaries=json.loads(textfile.read())
otherlist=dictionaries

Ответы [ 2 ]

0 голосов
/ 13 января 2019

Если вы хотите загрузить список словарей из файла txt в Python, вы можете сделать это, используя функцию literal_eval из модуля ast, чтобы оценить выражение строки в файле:

import ast

data = []
with open("data.txt", "r") as inFile:
    data = ast.literal_eval(inFile.read())
0 голосов
/ 13 января 2019

Прежде всего, такие файлы называются файлами 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

...