我编写了以下函数来构建基本URL的URL查询。
start_date='03-03-1997'
end_date='10-04-2015'
yf_base_url ='http://real-chart.finance.yahoo.com/table.csv?s=%5E'
index_list = ['BSESN','NSEI']
url = "http://real-chart.finance.yahoo.com/table.csv?s=%5E{}&a=03&b=3&c=1997&d=10&e=4&f=2015&g=d&ignore=.csv".format('BSESN')
def generate_url(index, start_date, end_date):
if (index == 'BSESN') or (index == 'NSEI'):
s_day = start_date.split('-')[0]
s_month = start_date.split('-')[1]
s_year = start_date.split('-')[2]
e_day = end_date.split('-')[0]
e_month = end_date.split('-')[1]
e_year = end_date.split('-')[2]
print('{} {} {} {} {} {}'.format(s_day,s_month,s_year,e_day,e_month,e_year))
url = (yf_base_url.join(index))&a=s_day&b=s_month&c=s_year&d=e_day&e=e_month&f=e_year
return url
我收到以下错误。
File "get_data.py", line 21
url = (yf_base_url.join(index))&a=s_day&b=s_month&c=s_year&d=e_day&e=e_month&f=e_year
SyntaxError: can't assign to operator
我想弄清楚为什么不能这样做。
答案 0 :(得分:2)
这一行不是有效的Python语法:
url = (yf_base_url.join(index))&a=s_day&b=s_month&c=s_year&d=e_day&e=e_month&f=e_year
您是不是要使用.format
函数格式化字符串并以此方式构建网址?你这样做是这样的:
url = (yf_base_url.join(index)) + "&a={}&b={}&c={}&d={}&e={}&f={}".format(s_day, s_month, s_year, e_day, e_month, e_year)