【问题标题】:Allow user selection to determine the stock selection in web.DataReader允许用户选择以确定 web.DataReader 中的股票选择
【发布时间】:2016-12-08 13:24:26
【问题描述】:

我正在寻找创建一个程序来获取用户选择的股票和 使用 Pandas 中的web.DataReader 函数返回信息。任何建议或替代解决方案将不胜感激。

import pandas as pd
import pandas.io.data as web   # Package and modules for importing data; this code may change depending on pandas version
import datetime

start = datetime.datetime(2016,1,1)
end = datetime.date.today()

apple = web.DataReader(input(""), "yahoo", start, end)

type(apple)
apple.head()

结果

web.DataReader 语句中的 input("")

OSError:3 次尝试后,Yahoo!没有为 url 'http://ichart.finance.yahoo.com/table.csv?s=appl&a=0&b=1&c=2016&d=11&e=8&f=2016&g=d&ignore=.csv' 返回 200

【问题讨论】:

  • 尝试在之前运行input命令,即在函数之外?
  • 您能告诉我们您在input("") 中输入的内容吗?
  • 这对您的直接问题没有帮助,但您确实需要停止使用pandas.io.data 模块。他们已将所有内容移植到一个名为 pandas_datareader 的全新包中。你需要点安装那个。 pandas.pydata.org/pandas-docs/stable/remote_data.html
  • 我很确定你输入了appl作为股票代码,而苹果的股票代码实际上是AAPL。尝试运行 web.DataReader("AAPL", "yahoo", start, end)
  • @JulienMarrec,没有什么比老用户错误更好的了。凌晨 5 点编程的乐趣

标签: python pandas datareader


【解决方案1】:

既然数据读取器已被移入它们自己的包中,那么您应该这样做。您还需要提供一个有效的股票代码,如果是苹果,它是 AAPL 而不是 appl

import pandas as pd
from pandas_datareader import data, wb
import datetime

start = datetime.datetime(2016,1,1)
end = datetime.date.today()

apple = data.DataReader(input("Please Input the name of the Ticker:\n"), "yahoo", start, end)

type(apple)
apple.head()

Please Input the name of the Ticker:
AAPL

    Open    High    Low     Close   Volume  Adj Close
Date                        
2016-01-04  102.610001  105.370003  102.000000  105.349998  67649400    103.057063
2016-01-05  105.750000  105.849998  102.410004  102.709999  55791000    100.474523
2016-01-06  100.559998  102.370003  99.870003   100.699997  68457400    98.508268
2016-01-07  98.680000   100.129997  96.430000   96.449997   81094400    94.350769
2016-01-08  98.550003   99.110001   96.760002   96.959999   70798000    94.849671

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-02-25
    • 1970-01-01
    • 2019-05-14
    • 1970-01-01
    • 1970-01-01
    • 2022-01-03
    • 2016-02-27
    • 2022-07-07
    相关资源
    最近更新 更多