首页 > 解决方案 > 遍历字典以创建列表

问题描述

我有一本字典,我想用它来从网站获取数据,然后为字典中的每个键存储一个单独的值,其中的数据来自相应的值。该代码有效,但仅返回字典中最后一个键:值对的数据,而不是全部返回。我错过了什么?

import csv
import requests

URL = {'Nov18': 'https://markets.cboe.com/us/futures/market_statistics/historical_data/products/csv/VX/2018-11-21',
       'Dec18': 'https://markets.cboe.com/us/futures/market_statistics/historical_data/products/csv/VX/2018-12-19'}

for tenors, links in URL.items():
    with requests.Session() as s:
        download = s.get(links)

        decoded_content = download.content.decode('utf-8')

        cr = csv.reader(decoded_content.splitlines(), delimiter=',')
        tenors = list(cr)

标签: pythonlistdictionary

解决方案


您已经覆盖了变量“tenors”。尝试定义另一个变量,如“日期”,你会得到你的结果:

import csv
import requests

URL = {'Nov18': 'https://markets.cboe.com/us/futures/market_statistics/historical_data/products/csv/VX/2018-11-21',
         'Dec18': 'https://markets.cboe.com/us/futures/market_statistics/historical_data/products/csv/VX/2018-12-19'}

tenors = []

for date, links in URL.items():
    with requests.Session() as s:
        download = s.get(links)

        decoded_content = download.content.decode('utf-8')

        cr = csv.reader(decoded_content.splitlines(), delimiter=',')
        tenors.append(list(cr))

推荐阅读