“float”, “sale”: “int”}
понятно, что в питоне в дикте можно было бы закастить напрямую:
data_type = {“spend”: float, “sale”: int}
вопрос в том, как я могу закастить тип данных с помощью json?)
чтоб я смог сделать что-то типа такого:
>> data_type[“spend”](2)
>> 2.0
до этого я хранил так: data_type = { "spend": float, "ratio_installs": float, "for_sale": int }
ужас
Павлик, есть идеи?)
У тебя тут тип для каждого поля, а ты говоришь, что у тебя там словно есть какая-то схема и нужно преобразовать имя типа в тип
также работает и с кастомными классами >>> class A: ... def __init__(self, a): ... self.a = a ... >>> a = eval('A')('2') >>> a.a '2'
нельзя никогда совать в eval, то что приходит из вне
чел задал вопрос, получил ответ))) может он там просто пет проектом занимается или ему надо одноразку написать и конвертить данные? ну да, не самое лучшее решение, я бы написал мапу "имя" - "тип", но раз хочется, то и так работает :)
да, если это json. Я ж не могу в json хранить сам тип.
если ща другого решения не найду, придется костылить)
Можно взять dataclass-factory и использовать TypedDict. Но я бы тебе посоветовал заменить словари на номральные модели и работать с ними
а может оно не надо?
задача такая стоит. Типа надо читать этот конфиг файл с жсоном и кастить типы через ключ
можно чуть подробнее именно исходную задачу?
есть пандас датафрейм, там типы иногда кастятся неправильно, чтобы не допустить этого, нужно в жсон кастить эти типы вручную, и читать эти типы из жсона в методе base класса
Обсуждают сегодня