异常处理下载股票d

2024-06-02 04:53:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我想下载所有的收盘价的sp500数据,并把它放到一个数据帧。我的异常处理无法捕获。你知道吗

我已经尝试了标准语法异常处理

from pandas_datareader import data as pdr

import yfinance as yf
yf.pdr_override() # <== that's all it takes :-)


# NYSE
url_nyse = "http://www.nasdaq.com/screening/companies-by-name.aspx?letter=0&exchange=nyse&render=download"
# Nasdaq
url_nasdaq = "http://www.nasdaq.com/screening/companies-by-name.aspx?letter=0&exchange=nasdaq&render=download"
# AMEX
url_amex = "http://www.nasdaq.com/screening/companies-by-name.aspx?letter=0&exchange=amex&render=download"

import pandas as pd

df = pd.DataFrame.from_csv(url_nyse)
stocks = df.index.tolist()


df_list = []
used_stocks = []

for stock in stocks:
    try:
        data = pdr.get_data_yahoo(stock, start="2017-01-01", end="2017-04-30")
        data_close=data['Close']
        df_list.append(data_close)
        used_stocks.append(stock)
    except ValueError :
        pass

df_list

我期待着股票指数是不可用的异常处理捕捉。你知道吗


Tags: importcomhttpurldfdatabyas
1条回答
网友
1楼 · 发布于 2024-06-02 04:53:58

你至少有两个选择。你知道吗

第一个是除以下例外:

try:
    # your code
except:
    print "Caught it!"

第二个是添加遇到的每个异常,以便相应地更改程序的行为。你知道吗

try:
    # your code
except ValueError:
    print("Value Error")
except KeyError:
    print("Key Error")

或者如果你不想分开处理它们:

try:
    #your code
except (KeyError, ValueError):
    print("Error")

相关问题 更多 >