我正在尝试将 Alpha Vantage 查询中的值传递给 pandas df,以便我可以提取某些值。
当我运行一个简单的 1 个符号查询时,我可以轻松地将信息传递到 df. 之后,我可以转置 df 并使用列提取数据。
一个例子是:
import requests
import alpha_vantage
import pandas as pd
API_URL = "https://www.alphavantage.co/query"
data = {
"function": "GLOBAL_QUOTE",
"symbol": "MSFT",
"apikey": "XXX",
}
response = requests.get(API_URL, params=data)
print(response.json())
df = pd.DataFrame(response.json())
df = df.T
print()
print()
print(df)
这将返回:
但是,我希望传递多个符号,但我不断收到错误消息:
{'错误消息':'无效的 API 调用。请重试或访问 GLOBAL_QUOTE 的文档 ( https://www.alphavantage.co/documentation/ )。'}
正在使用的代码是:
import requests
import alpha_vantage
import pandas as pd
df = pd.DataFrame()
API_URL = "https://www.alphavantage.co/query"
symbols= ["IBM", "MSFT", "APPL"]
for symbol in symbols:
data = {
"function": "GLOBAL_QUOTE",
"symbol": symbols,
"apikey": "XXX",
}
response = requests.get(API_URL, params=data)
print(response.json())
我相信这与网站预期的格式相对应:
https://www.alphavantage.co/query?function=GLOBAL_QUOTE&symbol=MSFT&apikey=demo
我的问题是:如何使用符号列表将多个请求传递给 Alpha Vantage API?