@snezhok8891

Как правильно прочитать файл с сохранением типов данных?

Есть файл с данными (0:[2,4,5]), как прочитать этот файл чтобы получить словарь {0:[2,4,5]. Спасибо.
  • Вопрос задан
  • 60 просмотров
Пригласить эксперта
Ответы на вопрос 3
Vindicar
@Vindicar
RTFM!
Придётся парсер писать.
В зависимости от сложности структуры данных, может быть умеренно сложно или очень сложно.
Например, данные всегда содержат словарь одного уровня с числовыми ключами и значениями в виде списка числе, как в твоём примере? Или могут быть варианты?
Для простых случаев можно разобрать строку вручную. Для сложных придётся въезжать в инструмент для создания парсеров типа ANTLR.
Ответ написан
Комментировать
shabelski89
@shabelski89
engineer
не нужно ничего писать, нужно файл с данными сохранять в валидный JSON.
например:
{"0": [1,2,3]}
читаем
import json

with open('some_file.txt') as jfile:
    data = json.load(jfile)
    
data
{'0': [2, 4, 5]}
data['0']
[2, 4, 5]
data['0'][0]
2
type(data['0'][0])
<class 'int'>
Ответ написан
Комментировать
@o5a
Если структура всегда примерно такая, то можно через ast
from ast import literal_eval

s = "0:[2,4,5]"
data = literal_eval(f"{{{s}}}")
print(data)
# {0: [2, 4, 5]}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы