[英]List used for a dynamic variable -- extra characters passing with the first and last string
将列表用于动态变量时遇到问题...列表中的第一个和最后一个项目正在传递附加字符。 我是 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)
Output 看起来像:
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'
想要 output 是:
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))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.