2015-11-05 25 views
0

我已经编写了以下函数来构造基URL的URL查询。SyntaxError:无法分配给运算符

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 

我想弄清楚为什么不能这样做。

+1

你期望所有的'&blah = blah&blah = blah'的东西要做什么?你是否试图将该文本追加到字符串的末尾?你认为'yf_base_url.join(index)'有什么作用? – user2357112

回答

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呀?你会这样做:

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)