Нужно перенести словарь из файла в массив
Есть .txt файл из словарями
{'name': 'oleg', 'phone_mob': 'fef', 'phone_home': '4', 'phone_work': '4r', 'email': 'v'}
{'name': 'dima', 'phone_mob': 'fwewef', 'phone_home': 'wefwf', 'phone_work': 'wfwfe', 'email': 'fw'}
нужно перенести их в масив. Каждый словарь расположен с новой строчки и нужно чтобы у них был у каждого свой индекс. Тоесть должно выйти что-то типа такого A = [{...},{...},{...}] Пробовал через with open, через np.loadtxt всегда какие-то ошибки и не работает как нужно, уже больше дня мучаюсь с этой проблемой пол интернета перелазил не могу никак найти решения. Есть какие-то советы?
Ответы (1 шт):
Автор решения: aqua
→ Ссылка
Вы можете открыть файл для чтения и построчно читать, после чего пройтись по этому списку и преобразовать строку в словарь в строку используя метод json.loads(), или встроенную функцию eval
import json
with open("file.txt", "r", encoding = "utf-8") as f:
file = f.readlines()
list_dict = []
for str_dict in file:
str_dict = str_dict.replace("'", '"')
dict_ = json.loads(str_dict)
list_dict.append(dict_)
print(list_dict)
Или
with open("file.txt", "r", encoding = "utf-8") as f:
file = f.readlines()
list_dict = []
for str_dict in file:
dict_ = eval(str_dict)
list_dict.append(dict_)
print(list_dict)