【问题标题】:Is there a way to select a specific type of data using the alpha vantage api? (python, alpha vantage, rapid api, requests)有没有办法使用 alpha vantage api 选择特定类型的数据? (python、alpha vantage、快速 api、请求)
【发布时间】:2020-07-08 20:07:24
【问题描述】:

有什么方法可以使用 alpha vantage api 来选择特定类型的数据,例如开盘或收盘日期?我已经让 api 输出当天的全球报价,这是一串所有内容(开盘、收盘、最高价、最低价、成交量等)。每次我提出请求时,我只需要获取特定的数据。我正在使用 request 和 rapid api 以及 alpha vantage 来获取数据。

这是发出请求的代码

import requests

url = "https://alpha-vantage.p.rapidapi.com/query"

querystring = {"symbol":"TSLA","function":"GLOBAL_QUOTE"}

headers = {
    'x-rapidapi-host': "alpha-vantage.p.rapidapi.com",
    'x-rapidapi-key': "key"
    }

response = requests.request("GET", url, headers=headers, params=querystring)

print(response.text)

这是我从 rapid api 得到的基本代码。 response.text 输出时是这样的

{
    "Global Quote": {
        "01. symbol": "TSLA",
        "02. open": "1405.0100",
        "03. high": "1429.5000",
        "04. low": "1336.7100",
        "05. price": "1389.8600",
        "06. volume": "21180300",
        "07. latest trading day": "2020-07-07",
        "08. previous close": "1371.5800",
        "09. change": "18.2800",
        "10. change percent": "1.3328%"
    }
}

我已经尝试使用 python 中的 split 函数来削减全局引号字符串,但它变得非常挑剔。如果有人知道这样做的任何方法,那会很有帮助。

【问题讨论】:

    标签: python python-requests alpha-vantage


    【解决方案1】:

    您可以通过导入时间序列并从 pandas 数据框中获取数据来获得此信息。

    from alpha_vantage.timeseries import TimeSeries
    import pandas as pd
    import time
    import datetime as dt
    import requests
    
    ts = TimeSeries (key=keys, output_format = "pandas")
    
       ### STOCK TIME SERIES > DAILY ADJUSTED ###
            # Date / Open / High / Low / Close / Adjusted Close / Volume / Dividend / Split
    data_daily, meta_data = ts.get_daily_adjusted(symbol=stock_ticker, outputsize ='compact')
            # data_daily['column name'][row number]
    data_daily_lastOpenPrice = data_daily['1. open'][0]
    data_daily_lastHighPrice = data_daily['2. high'][0]
    data_daily_lastLowPrice = data_daily['3. low'][0]
    data_daily_lastAdjustedClosingPrice = data_daily['5. adjusted close'][0]
    data_daily_lastTradingVolume = data_daily['6. volume'][0]
    data_daily_lastDividendAmount = data_daily['7. dividend amount'][0]
    

    希望这些信息对您有所帮助:)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-02-16
      • 2020-11-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-12
      • 2020-09-21
      • 2020-05-11
      相关资源
      最近更新 更多