python - 如何将列表元素插入 URL
问题描述
我正在尝试发出 API 请求。它是从算法交易的数据提供商 Tiingo API 获取股票价格和交易量。在下面的示例中,它正在寻找股票代码 AAPL 和 SPY 的最新价格/交易量。我想知道python中是否有一种方法可以将列表中的字符串插入到url中。
headers = {
'Content-Type': 'application/json'
}
requestResponse = requests.get(
"https://api.tiingo.com/iex/?tickers=aapl,spy&token=APIKEY", headers=headers)
print(requestResponse.json())
假设我有一个代码列表:
tickers = ['A', 'AA', 'AA-W', 'AAAB']
我想以以下格式将它们放在 url 引用中(小型大写字母并在 'tickers=' 之后用逗号分隔):
headers = {
'Content-Type': 'application/json'
}
requestResponse = requests.get(
"https://api.tiingo.com/iex/?tickers=a,aa,aa-w,aaab&token=APIKEY", headers=headers)
print(requestResponse.json())
由于我要输入很多代码,全部输入不是很可行,所以上面是一个例子。我已经尝试过 python 格式,但我无法让它工作。
解决方案
如果您有代码列表,您可以使用它str.join
来创建一个字符串以添加到您的查询中
>>> tickers = ['A', 'AA', 'AA-W', 'AAAB']
>>> 'https://api.tiingo.com/iex/?tickers={}&token=APIKEY'.format(','.join(tickers))
'https://api.tiingo.com/iex/?tickers=A,AA,AA-W,AAAB&token=APIKEY'
所以要进行get
查询
requestResponse = requests.get(
'https://api.tiingo.com/iex/?tickers={}&token=APIKEY'.format(','.join(tickers)), headers=headers)
如果它们必须是小写的,你可以在你的str.join
>>> ','.join(s.lower() for s in tickers)
'a,aa,aa-w,aaab'
推荐阅读
- google-chrome - 浏览器从缓存中加载 JS 文件,而不是 CSS 文件
- jquery - 在 Jquery 中选择多个复选框
- html - 如何使幻灯片图像在不同的视口尺寸下按比例缩放?
- ios - 将单元格添加到可见的空 UITableView 以白色背景显示
- java - 如何在java中使用正则表达式在特定位置的文本中查找数字
- python - 为什么 matplotlib.pyplot.imsave() 和 matplotlib.pyplot.imshow() 图像质量不同?如何保证同样的质量?
- user-interface - 如何使用构建器功能?- 颤动
- c# - 在 WinForms 应用程序中运行批处理文件问题
- node.js - 节点使用 child_process 启动 VLC Player
- sql - 如何在 CTE 和两个表之间使用 Join 查询?