2015-11-05 106 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)