@snezhok8891

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

Есть файл с данными (0:[2,4,5]), как прочитать этот файл чтобы получить словарь {0:[2,4,5]. Спасибо.
  • Вопрос задан
  • 59 просмотров
Пригласить эксперта
Ответы на вопрос 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]}
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
01 мая 2024, в 02:11
5000 руб./за проект
01 мая 2024, в 00:29
2000 руб./за проект
01 мая 2024, в 00:20
15000 руб./за проект