我正在阅读雅虎的股票数据,这些数据与"代码" (股票代码)以CSV文件提供给我。但是,雅虎实际上没有一些股票代码,所以我想知道是否有办法通过异常处理在我的代码中解释这个问题。
import pandas
import pandas.io.data as web
import datetime
import csv
f1=open('C:\Users\Username\Documents\Programming\Financialdata.csv') #Enter the location of the file
c1= csv.reader(f1)
tickers =[]
for row in c1: #reading tickers from the csv file
tickers.append(row)
start=datetime.datetime(2012,1,1)
end=datetime.datetime(2013,1,1)
l=[]; m=[]; tickernew=[]
i=0;j=0; k=0; z=[]
for tick in tickers[0]:
f=web.DataReader(tick,'yahoo', start,end)
if len(f)==250: #checking if the stock was traded for 250 days
tickernew.append(tick) #new ticker list to keep track of the new index number of tickers
k = k + 1 #k keeps track of the number of new tickers
for i in range(0,len(f)-1):
m.append(f['Adj Close'][i+1]/f['Adj Close'][i]) #calculating returns
答案 0 :(得分:0)
绝对。您的第一步应该是查看程序崩溃时得到的回溯,因为您提到的输入无效。
然后,只需用try / except打包你正在崩溃的代码行。良好的Python风格鼓励您具体了解您正在处理的异常类型。因此,例如,如果崩溃引发“ValueException”,您将要执行此操作:
try:
bad_line_of_code
except ValueException:
handle_the_issue