python - 用于动态变量的列表 - 与第一个和最后一个字符串一起传递的额外字符
问题描述
将列表用于动态变量时遇到问题...列表中的第一项和最后一项与其他字符一起传递。我是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
希望这个答案有用;)
推荐阅读
- javascript - Javascript 音频循环 3 次
- javascript - 使用 jQuery 在有效数据上显示提交按钮
- python - 在熊猫中,如何打开带有句子之间分隔符的CSV(在错误的位置)?
- listview - 水平视口被赋予了无限的高度
- python - 将值列表添加到 dict 列表
- c# - 从列表中删除对象
- javascript - 在网络上使用多个 Firebase 实时数据库进行身份验证不起作用
- sql - COUNT(*) 小于 2 的 SQL 更新
- environment-variables - Linux 环境变量
- graph - 在 SPARQL 中显示树的所有路径