【问题标题】:SyntaxError: can't assign to operatorSyntaxError:无法分配给操作员
【发布时间】:2016-02-06 22:25:24
【问题描述】:

我编写了以下函数来从基本 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

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

【问题讨论】:

  • 您希望&blah=blah&blah=blah 的所有内容能做什么?您是否尝试将该文本附加到字符串的末尾?你认为yf_base_url.join(index) 做了什么?

标签: python


【解决方案1】:

此行不是有效的 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)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-10
    • 1970-01-01
    • 2017-02-13
    • 1970-01-01
    • 1970-01-01
    • 2020-08-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多