【问题标题】:Error using Alpha Vantage while following tutorial, - Pylint error学习教程时使用 Alpha Vantage 时出错 - Pylint 错误
【发布时间】:2020-04-29 20:29:03
【问题描述】:

我正在学习 alpha vantage 包,我一直在关注 Derrick Sherrill 的本教程 https://www.youtube.com/watch?v=JJO9fKj3_u4,但我遇到了一些问题。

这是我的代码:

import pandas as pd
from alpha_vantage.techindicators import TechIndicators
from alpha_vantage.timeseries import TimeSeries
import matplotlib.pyplot as plt

api_key = 'XXXX'

ts = TimeSeries(key=api_key, output_format='pandas')
data_ts, meta_data_ts = ts.get_intraday(
symbol='MSFT', interval='1min', outputsize='full')

period = 60

ti = TechIndicators(key=api_key, output_format='pandas')
data_ti, meta_data_ti = ti.get_sma(
symbol='MSFT', interval='1min', time_period=period, series_type='close')

df1 = data_ti
df2 = data_ts['4. close'].iloc[period-1::]

df2.index = df1.index

total_df = pd.concat([df1, df2], axis=1)
print(total_df)

定义变量 df2 时,我得到一个红色下划线并告诉我:

Sequence index is not an int, slice, or instance with __index__pylint(invalid-sequence-index)

虽然我不确定这是问题所在。

我很确定我应该得到一组数据,但目前情况并非如此。

这是尝试运行脚本后的完整终端消息:

  File "/Users/ludvighenriksen/Desktop/Code/api.py", line 15, in <module>
    data_ti, meta_data_ti = ti.get_sma(symbol='MSFT', interval='1',
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/alpha_vantage/alphavantage.py", line 218, in _format_wrapper
    call_response, data_key, meta_data_key = func(
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/alpha_vantage/alphavantage.py", line 160, in _call_wrapper
    return self._handle_api_call(url), data_key, meta_data_key
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/alpha_vantage/alphavantage.py", line 337, in _handle_api_call
    raise ValueError(json_response["Error Message"])
ValueError: Invalid API call. Please retry or visit the documentation (https://www.alphavantage.co/documentation/) for SMA.

希望您能提供帮助,在此先感谢!

【问题讨论】:

  • 你能再试一次吗?来自 df2 的 pylint 错误不是问题。我能够毫无问题地运行您的代码。你不是用 MSFT 作为符号吗?
  • 它似乎仍然不起作用。也许我的安装有问题。我将在问题中添加屏幕截图,然后您就可以看到了。
  • 可能,我不知道错误是什么,因为我只是想通过一步一步来获得介绍。 alpha vantage 的版本是 2.20
  • 您能否更新您的屏幕截图并使用错误和保存的 api.py 文件。
  • 太棒了!让我在下面添加一个答案(请从图片中删除 API 密钥!)

标签: python pandas stock alpha-vantage


【解决方案1】:

这里有一些误解。

您在 df2 下看到的红线曲线是 pylint 错误。 Pylint 是linting 工具的一种形式,它通常可以发现你的代码中会出现问题的部分,但它也会发现文体错误。样式错误是您编写代码的方式的错误,它实际上可能不会破坏代码。你得到的错误可以在 pylint 文档中找到here

您可以通过几种方式禁用此“代码清洁度检查器”。查看herehere 了解更多信息。 Mac:Command+Shift+P > 输入“python: enable linting” > 设置“off” Windows:CTRL+SHIFT+P > 选择 linter > 禁用 Linter。

您得到的原始错误似乎是以前的一些用户错误,也许您输入了错误的符号,但您的输出屏幕截图似乎没有重现的错误。

【讨论】:

  • 非常感谢!这对我来说意味着整个世界,这个世界上有像你一样的人,随时准备提供帮助,并花时间向他人学习你掌握的技能。继续加油!我会看一下链接,这样有一天我会和你一样舒服