import pandas
import pandas.io.data
import datetime
import urllib2
import csv
YAHOO_TODAY="http://download.finance.yahoo.com/d/quotes.csv?s=%s&f=sd1ohgl1vl1"
def get_quote_today(symbol):
response = urllib2.urlopen(YAHOO_TODAY % symbol)
reader = csv.reader(response, delimiter=",", quotechar='"')
for row in reader:
if row[0] == symbol:
return row
## main ##
symbol = "TSLA"
history = pandas.io.data.DataReader(symbol, "yahoo", start="2014/1/1")
print history.tail(2)
today = datetime.date.today()
df = pandas.DataFrame(index=pandas.DatetimeIndex(start=today, end=today, freq="D"),
columns=["Open", "High", "Low", "Close", "Volume", "Adj Close"],
dtype=float)
row = get_quote_today(symbol)
df.ix[0] = map(float, row[2:])
history = history.append(df)
print "today is %s" % today
print history.tail(2)
为了完成近地点的回答,我花了相当长的时间才找到附加数据的方法。
Open High Low Close Volume Adj Close
Date
2014-02-04 180.7 181.60 176.20 178.73 4686300 178.73
2014-02-05 178.3 180.59 169.36 174.42 7268000 174.42
today is 2014-02-06
Open High Low Close Volume Adj Close
2014-02-05 178.30 180.59 169.36 174.420 7268000 174.420
2014-02-06 176.36 180.11 176.00 178.793 5199297 178.793
因此,通过尝试和查看数据帧,这看起来不太可能。你告诉它从一个特定的日子到今天,但是数据帧在2013年5月31日停止。这告诉我,雅虎可能在过去几天里没有提供给你使用,或者熊猫只是没有把它捡起来。不只是缺了1天,还缺了3天。
如果我这样做:
它告诉我,到目前为止,在那些日子里根本没有数据可供收集。如果有办法的话,我想不出来,但似乎你还没有数据,这很难相信。
为了完成近地点的回答,我花了相当长的时间才找到附加数据的方法。
找到解决方法,只需使用urllib获取数据:
然后将其添加到数据帧
相关问题 更多 >
编程相关推荐