【问题标题】:How to remove quotations from a dictionary in python如何从python中的字典中删除引号
【发布时间】:2021-04-22 18:13:45
【问题描述】:

目前,我正在使用 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。然后我删除“每月调整时间序列”标题并将剩余数据作为每月数据发送到字典并将键定义为 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 和一般编码比较陌生,所以请保持简单。谢谢

【问题讨论】:

  • 那些是字符串。引号不是字符串的一部分,它们只是字符串在 Python 代码中的表示方式。打印整个字典时也会显示它们,但打印单个值时不会显示。

标签: python list dictionary chart.js alpha-vantage


【解决方案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)

Here是我使用的文档

【讨论】:

  • 谢谢!我只需要在转换中进行修改,但除此之外它很完美:) montly_year_dict = dict(zip(date_list, map(float, data_list)))
猜你喜欢
  • 1970-01-01
  • 2018-04-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-16
  • 2012-07-01
相关资源
最近更新 更多