Как преобразовать данные считаные из .txt файла в list?

У меня есть файл .txt, который представляет из себя что-то вроде:

[["o":96.069999999999993,"c":96.549999999999997,"h":96.900000000000006,"l":95.900000000000006,"v":2067,"time":"2021-09-06T07:00:00Z","interval":"5min","figi":"BBG005DXJS36"],["o":96.549999999999997,"c":96.439999999999998,"h":96.640000000000001,"l":95.689999999999998,"v":1344,"time":"2021-09-06T07:05:00Z","interval":"5min","figi":"BBG005DXJS36"]] 

То есть, имеет вид обычного списка python.

При попытке прочитать его, данные считываются как символы.

Как получить после чтения этого файла обычный список (list), а не строку?


Ответы (1 шт):

Автор решения: MaxU

Воспользуйтесь yaml.safe_load().

Пример:

from yaml import safe_load   #  pip install pyyaml

with open(filename) as file:
    data = safe_load(file)

результат:

In [103]: data
Out[103]:
[[{'o': 96.07},
  {'c': 96.55},
  {'h': 96.9},
  {'l': 95.9},
  {'v': 2067},
  {'time': '2021-09-06T07:00:00Z'},
  {'interval': '5min'},
  {'figi': 'BBG005DXJS36'}],
 [{'o': 96.55},
  {'c': 96.44},
  {'h': 96.64},
  {'l': 95.69},
  {'v': 1344},
  {'time': '2021-09-06T07:05:00Z'},
  {'interval': '5min'},
  {'figi': 'BBG005DXJS36'}]]
→ Ссылка