相关疑难解决方法(0)

使用 Pandas Datareader 从雅虎财经获取股票数据时出现“类型错误:字符串索引必须是整数”

import pandas_datareader

end = "2022-12-15"
start = "2022-12-15"
stock_list = ["TATAELXSI.NS"]

data = pandas_datareader.get_data_yahoo(symbols=stock_list, start=start, end=end)

print(data)
Run Code Online (Sandbox Code Playgroud)

当我运行此代码时,出现错误"TypeError: string indices must be integers"

编辑:我已经更新了代码并将列表作为符号参数传递,但它仍然显示相同的错误

错误 :

Traceback (most recent call last):
  File "C:\Users\Deepak Shetter\PycharmProjects\100DAYSOFPYTHON\mp3downloader.py", line 7, in <module>
    data = pandas_datareader.get_data_yahoo(symbols=[TATAELXSI], start=start, end=end)
  File "C:\Users\Deepak Shetter\PycharmProjects\100DAYSOFPYTHON\venv\lib\site-packages\pandas_datareader\data.py", line 80, in get_data_yahoo
    return YahooDailyReader(*args, **kwargs).read()
  File "C:\Users\Deepak Shetter\PycharmProjects\100DAYSOFPYTHON\venv\lib\site-packages\pandas_datareader\base.py", line 258, in read
    df = self._dl_mult_symbols(self.symbols)
  File "C:\Users\Deepak Shetter\PycharmProjects\100DAYSOFPYTHON\venv\lib\site-packages\pandas_datareader\base.py", line 268, in _dl_mult_symbols
    stocks[sym] = self._read_one_data(self.url, self._get_params(sym))
  File "C:\Users\Deepak Shetter\PycharmProjects\100DAYSOFPYTHON\venv\lib\site-packages\pandas_datareader\yahoo\daily.py", line …
Run Code Online (Sandbox Code Playgroud)

python yahoo-finance pandas-datareader

48
推荐指数
4
解决办法
3万
查看次数

yfinance下载的多级列名如何处理

我有一个tickerStrings要一次性下载的股票代码 ( )列表。当我尝试使用read_csvPandas 时,它不会像我从 yfinance 下载数据时那样读取 csv 文件。

我通常通过这样的代码访问我的数据:data['AAPL']or data['AAPL'].Close,但是当我从 csv 文件中读取数据时,它不允许我这样做。

if path.exists(data_file):
    data = pd.read_csv(data_file, low_memory=False)
    data = pd.DataFrame(data)
    print(data.head())
else:
    data = yf.download(tickerStrings, group_by="Ticker", period=prd, interval=intv)
    data.to_csv(data_file)
Run Code Online (Sandbox Code Playgroud)

这是打印输出:

                  Unnamed: 0                 OLN               OLN.1               OLN.2               OLN.3  ...                 W.1                 W.2                 W.3                 W.4     W.5
0                        NaN                Open                High                 Low               Close  ...                High                 Low               Close           Adj Close  Volume
1                   Datetime                 NaN                 NaN                 NaN                 NaN  ...                 NaN                 NaN                 NaN                 NaN     NaN
2  2020-06-25 09:30:00-04:00    11.1899995803833  11.220000267028809 …
Run Code Online (Sandbox Code Playgroud)

python dataframe python-3.x pandas yfinance

5
推荐指数
2
解决办法
6675
查看次数