查找库存历史价格的开始和结束日期

时间:2013-10-28 22:13:30

标签: python yahoo-finance

我试图获取雅虎财经的股票报价并在控制台上打印。但是在设置开始和结束日期时遇到问题。这是我的代码:

def get_quotes(ticker,start_date,end_date):
list = []

quote = 'http://ichart.yahoo.com/table.csv?s={}&a=2&b=1&c=2011&d=10&e=30&f=2012&g=d'.format(ticker,start_date,end_date)
response = urllib.request.urlopen(quote) 
data = response.read()
string_data = data.decode(encoding='utf-8')
lines = string_data.splitlines()
for x in lines:
    data = [y for y in x.split(',')]
    list.append(data)
return list

对于报价部分..如何输入用户输入的开始和结束日期?您可以将'?s ='替换为{}来格式化,但是如何对日期执行相同操作?

2 个答案:

答案 0 :(得分:1)

你到底想做什么?

是否要将2&b=1&c=2011&d替换为29&b=10&c=2013&d等开头日期?

更新代码:

输入start_date和end_date的粗略方法如下:

start_date = raw_input("Enter start date in form of D/M/Y: ").split("/")
end_date = raw_input("Enter end date in form of D/M/Y: ").split("/")
qoute = 'http://ichart.yahoo.com/table.csv?s={}&a=' + start_date[0] + '&b=' + start_date[1] + "&c=" + start_date[2] + '&d='+end_date[0] + '&e=' + end_date[1] + '&f=' + end_date[2] + '&g=d'

答案 1 :(得分:1)

要获取用户的日期,请使用raw_input(),即

startDate = raw_input("Please enter the start date:")

对于格式设置,如果用户输入“漂亮”日期,您可以将其转换为date对象,并使用strftime获取所需格式