Создание графики Alpha Vantage API с помощью Python - PullRequest
0 голосов
/ 12 сентября 2018

Я новичок в Python, а точнее, в Alpha Vantage. Моя проблема здесь в том, что мой код собирает данные для акций, но не отображает их. Я запустил этот код на моем cmd с 3.7 python и уже обновил все мои пакеты. Я слышал, что у людей были проблемы с matplotlib и 3.7 версией python, но я действительно хочу выяснить этот API. Это мой код ниже:

from alpha_vantage.timeseries 
import TimeSeries 
import matplotlib.pyplot as plt 
import sys

def stockchart(symbol):
    ts = TimeSeries(key='1ORS1XLM1YK1GK9Y', output_format='pandas')
    data, meta_data = ts.get_intraday(symbol=symbol, interval='1min', outputsize='full')
    print (data)
    data['close'].plot()
    plt.title('Stock chart')
    plt.show()

symbol=input("Enter symbol name:") stockchart(symbol)

Я получил это в ответ на мой cmd после ввода MSFT для имени символа ... что означает, что я вытягиваю из API, но функция data ['close'] не работает правильно с PANDAS

          1. open   2. high    3. low  4. close  5. volume
    date
    2018-09-05 09:30:00  111.1900  111.4000  111.1200  111.3500   673119.0

File "C:\Users\davis\AppData\Local\Programs\Python\Python37\lib\site-packages\pandas\core\internals.py", line 4115, in get
    loc = self.items.get_loc(item)
  File "C:\Users\davis\AppData\Local\Programs\Python\Python37\lib\site-packages\pandas\core\indexes\base.py", line 3080, in get_loc
    return self._engine.get_loc(self._maybe_cast_indexer(key))
  File "pandas\_libs\index.pyx", line 140, in pandas._libs.index.IndexEngine.get_loc
  File "pandas\_libs\index.pyx", line 162, in pandas._libs.index.IndexEngine.get_loc
  File "pandas\_libs\hashtable_class_helper.pxi", line 1492, in pandas._libs.hashtable.PyObjectHashTable.get_item
  File "pandas\_libs\hashtable_class_helper.pxi", line 1500, in pandas._libs.hashtable.PyObjectHashTable.get_item
KeyError: 'close'

1 Ответ

0 голосов
/ 12 октября 2018

У меня была такая же проблема.

Обратите внимание в этой строке, которая содержит названия столбцов:

 1. open   2. high    3. low  4. close  5. volume

Итак, измените эту строку с именем столбца: Например:

data['close'].plot() изменить на data['4. close'].plot()

...