[英]Grabbing stock data from a list
我目前正在開發一個非常基本的程序,以獲取庫存數據並將其復制到.csv文件中。 不知道我是否正確地使用for x in list
,因為我只復制了一只股票的數據,而不是列表中每只股票的單獨文件。
from datetime import date, timedelta
import urllib
import os
enddate = date.today()
startdate = enddate + timedelta(-30) # last 30 days
stocks = ["^RUT", "NFLX", "YHOO", "AAPL", "GOOG"]
for stock in stocks:
print stock
STOCK_URL = 'http://ichart.finance.yahoo.com/table.csv'
PARAMS = {
'a': startdate.month-1,
'b': startdate.day,
'c': startdate.year,
'd': enddate.month-1,
'e': enddate.day,
'f': enddate.year,
'g': 'd',
'ignore': '.csv'
}
def pulldata(stock, filename):
print "Retrieving latest data..."
params = PARAMS.copy()
params['s'] = stock
url = "%s?%s" % (STOCK_URL, urllib.urlencode(params))
return urllib.urlretrieve(url, filename)
try:
folder = os.stat("My Stock Data/")
except:
folder = os.mkdir("My Stock Data/")
filename, headers = pulldata(stock, "My Stock Data/" + stock + "-data.csv")
print "Done"
這就是您的代碼的樣子嗎?
如果是這樣,我希望看到打印出的股票名稱,然后是GOOG的數據,然后是“完成”。
嘗試抓住for循環,將其向下移動到調用pulldata之前,然后縮進該行,這樣看起來
try:
folder = os.stat("My Stock Data/")
except:
folder = os.mkdir("My Stock Data/")
for stock in stocks:
print(stock)
filename, headers = pulldata(stock, "My Stock Data/" + stock + "-data.csv")
print("Done")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.