我试图获取雅虎财经的股票报价并在控制台上打印。但是在设置开始和结束日期时遇到问题。这是我的代码:
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 ='替换为{}来格式化,但是如何对日期执行相同操作?
答案 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:")