如何解决用于动态变量的列表-第一个和最后一个字符串传递的多余字符
在使用动态变量列表时遇到麻烦...列表中的第一项和最后一项都带有附加字符。我是python的新手,所以我希望这是一个简单的解决方法...
symbols=['ALXN','AMAT','AMD','AMGN','AKAM']
print(symbols[0])
print(symbols[1])
print(symbols[2])
print(symbols[3])
print(symbols[4])
while 1:
day_bars_url = '{}/day?symbols={}&limit=6'.format(config.BARS_URL,symbols)
r2 = requests.get(day_bars_url,headers=config.HEADERS)
datadaily = r2.json()
for symbol in datadaily:
print("CREATING DAY BAR CSV FOR STOCK: " + symbol)
输出如下:
ALXN
AMAT
AMD
AMGN
AKAM
CREATING DAY BAR CSV FOR STOCK: 'AKAM']
CREATING DAY BAR CSV FOR STOCK: 'AMAT'
CREATING DAY BAR CSV FOR STOCK: 'AMD'
CREATING DAY BAR CSV FOR STOCK: 'AMGN'
CREATING DAY BAR CSV FOR STOCK: ['ALXN'
希望输出为:
ALXN
AMAT
AMD
AMGN
AKAM
CREATING DAY BAR CSV FOR STOCK: AKAM
CREATING DAY BAR CSV FOR STOCK: AMAT
CREATING DAY BAR CSV FOR STOCK: AMD
CREATING DAY BAR CSV FOR STOCK: AMGN
CREATING DAY BAR CSV FOR STOCK: ALXN
解决方法
问题: 通过查看您的代码,看来您正在调用:
day_bars_url = '{}/day?symbols={}&limit=6'.format(config.BARS_URL,symbols)
使您的symbols
参数看起来像
?symbols=['ALXN','AMAT','AMD','AMGN','AKAM']
暗示您错误地获取了参数(例如['ALXN'
)。
解决方案: 您可以通过在使用之前将列表转换为字符串来解决此问题:
symbols_text = ','.join(symbols)
day_bars_url = '{}/day?symbols={}&limit=6'.format(config.BARS_URL,symbols_text)
这样,join()
将用您的符号组成一个字符串,并在它们之间加一个逗号:
?symbols=ALXN,AMAT,AMD,AMGN,AKAM
希望这个答案有用;)
,您直接在行中传递列表
day_bars_url = '{}/day?symbols={}&limit=6'.format(config.BARS_URL,symbols)
相反,您应该传递
day_bars_url = '{}/day?symbols={}&limit=6'.format(config.BARS_URL,",".join(symbols))
,
我将首先在此行datadaily = r2.json()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。