Как взять строку "str" ​​и понять, что это тип данных: str - PullRequest
1 голос
/ 18 марта 2020

У меня есть файл Yaml, в котором я обозначаю столбцы и типы данных CSV. Я буду использовать это, чтобы прочитать фрейм данных. Файл имеет формат:

columns:
    company: str
    country: str
    address: str

Когда я читаю файл yaml, я получаю:

{
    "columns": {
        { "company": "str"},
        { "country": "str"},
        { "address": "str"}
    }
}

Но мне нужно это как:

    "columns": {
        { "company": str},
        { "country": str},
        { "address": str}
    }
}

На данный момент мой хак - использовать справочную таблицу, которая конвертируется в тип.

{ 
    "int": int, 
    "str": str
}

1 Ответ

3 голосов
/ 18 марта 2020

Вы можете import builtins и получить типы в качестве атрибутов этого модуля:

import builtins

config['columns'] = {k: getattr(builtins, v) for k, v in config['columns'].items()}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...