繁体   English   中英

我如何在尝试中使用循环代码,除了代码?

[英]How can I use loop code on try, except code?

现在我正在编码以获取更改值(一天 - 昨天的一天)和仅存在工作日的数据,因此如果一天中没有现有数据,则代码将获取 KeyError。 所以我使用了尝试,除了代码但是......太混乱了......我想结合下面的代码。

    ydate = datetime.strptime(date, '%Y-%m-%d').date() - timedelta(days=1)
    sydate = str(ydate)
    try:
        yclose = data['Time Series (Daily)'][sydate]['4. close']
    except KeyError:
        try:
            ydate = datetime.strptime(date, '%Y-%m-%d').date() - timedelta(days=2)
            sydate = str(ydate)
            yclose = data['Time Series (Daily)'][sydate]['4. close']
        except KeyError:
            try:
                ydate = datetime.strptime(date, '%Y-%m-%d').date() - timedelta(days=3)
                sydate = str(ydate)
                yclose = data['Time Series (Daily)'][sydate]['4. close']
            except KeyError:
                    try:
                    ydate = datetime.strptime(date, '%Y-%m-%d').date() - timedelta(days=4)
                    sydate = str(ydate)
                    yclose = data['Time Series (Daily)'][sydate]['4. close']

将其包裹在一个循环中。

for x in range(0, 5):
    ydate = datetime.strptime(date, '%Y-%m-%d').date() - timedelta(days=x)
    sydate = str(ydate)
    try:
        yclose = data['Time Series (Daily)'][sydate]['4. close']
    except KeyError:
        continue

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM