Преобразовать строку в Dict - PullRequest
0 голосов
/ 18 марта 2020

У меня есть датафрейм с несколькими столбцами, которые я получаю из CSV, который в некоторых столбцах имеет другой словарь. Затем я продолжаю делать следующее:

df = df.set_index('case_id')
dictionary = df.to_dict('index')
list = list(dictionary.keys())
df = df.reset_index()

Все отлично, я получаю словарь, как и ожидалось, с индексом в качестве его ключа. Теперь проблема начинается здесь. В каком-то столбце "b" у меня есть другой словарь, который по какой-то причине имеет тип string.

Когда я делаю dictionary[key]['b'] Я ожидаю получить словарь в следующем формате

'{0: [datetime.datetime(2018, 9, 3, 13, 41, 37), 1162.0], 1: [datetime.datetime(2018, 9, 3, 14, 0, 59), 347.0], 2: [datetime.datetime(2018, 9, 3, 14, 6, 46), 1719.0], 3: [datetime.datetime(2018, 9, 3, 14, 35, 25), 14.0], ... }'

Однако, когда я делаю type(dictionary[key]['b']) на него ссылаются как <class 'str'>, как я могу преобразовать это в словарь?

1 Ответ

1 голос
/ 18 марта 2020

Использование eval()

eval(dictionary[key]['b'])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...