Как удалить цитаты из словаря в python

В настоящее время я использую API для получения данных об акциях. Данные приходят в формате:

'Monthly Adjusted Time Series': {'2021-04-21': {'1. open': '238.4700', '2. high': '261.4800', '3. low': '238.0501', '4. close': '260.5800', '5. adjusted close': '260.5800', '6. volume': '352378035', '7. dividend amount': '0.0000'}  

а затем повторяется с новыми данными, например. 2021-03-21. Затем я удаляю заголовок Monthly Adjusted Time Series и отправляю оставшиеся данные в словарь как ежемесячные данные, а ключи определяю как key_data.

  date_list = []
data_list =[]
for data in zip(range(12), keys_data):
    data = data[1]
    keys_spec = monthly_data[data]
    date_list.append(data)
    for item in keys_spec:
        if item == "1. open":
            data_list.append(keys_spec[item])
montly_year_dict = dict(zip(date_list, data_list))
print(montly_year_dict)

Это возвращает данные следующим образом

{'2021-04-21': '238.4700', '2021-03-31': '235.9000', '2021-02-26': '235.0600', '2021-01-29': '222.5300', '2020-12-31': '214.5100', '2020-11-30': '204.2900', '2020-10-30': '213.4900', '2020-09-30': '225.5100', '2020-08-31': '211.5200', '2020-07-31': '203.1400', '2020-06-30': '182.5400', '2020-05-29': '175.8000'

Однако мне нужны данные без кавычек для использования в ChartJs. Я пробовал несколько способов преобразования в строки, использования ast и разделения данных, но пока ничего не сработало. Можно ли удалить определенные символы для словаря или есть лучший способ, не использующий списки? Я относительно новичок в python и кодировании в целом, поэтому, пожалуйста, будьте проще. Спасибо


person Hayden Billings    schedule 22.04.2021    source источник
comment
Это струны. Кавычки не являются частью строк, они просто представляют строки в коде Python. Они также отображаются при печати всего словаря, но не при печати отдельных значений.   -  person mkrieger1    schedule 22.04.2021
comment
Взгляните на stackoverflow.com/questions/40071006/   -  person mkrieger1    schedule 22.04.2021


Ответы (1)


Возможно, вы захотите объединить строки в числа с плавающей запятой.

data_list =[]
for data in zip(range(12), keys_data):
    data = data[1]
    keys_spec = monthly_data[data]
    date_list.append(data)
    for item in keys_spec:
        if item == "1. open":
            data_list.append(keys_spec[item])
montly_year_dict = dict(zip(date_list, float(data_list))) # change it here
print(montly_year_dict)

Вот документация, которую я использовал

person Mr-Monster    schedule 22.04.2021
comment
Благодарю вас! Мне просто нужно было внести изменения в преобразование, но в остальном это идеально :) montly_year_dict = dict(zip(date_list, map(float, data_list))) - person Hayden Billings; 22.04.2021