相关疑难解决方法(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万
查看次数

为什么我在尝试访问雅虎财经时收到“类型错误:字符串索引必须为整数”消息?

我正在学习 Udemy 的 Python 和金融课程,不幸的是,在尝试使用pandas_dataReader.

这是我直接从jupyter笔记本复制的代码

import numpy as np
import pandas as pd

from pandas_datareader import data as wb
PG = wb.DataReader('PG', data_source='yahoo', start='1995-1-1')
Run Code Online (Sandbox Code Playgroud)

这将返回以下相当冗长的错误消息:

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
~\AppData\Local\Temp\ipykernel_16532\693660725.py in <module>
----> 1 PG = wb.DataReader('PG', data_source='yahoo', start='1995-1-1')

~\anaconda3\lib\site-packages\pandas\util\_decorators.py in wrapper(*args, **kwargs)
    205                 else:
    206                     kwargs[new_arg_name] = new_arg_value
--> 207             return func(*args, **kwargs)
    208 
    209         return cast(F, wrapper)

~\anaconda3\lib\site-packages\pandas_datareader\data.py in DataReader(name, data_source, start, end, retry_count, pause, session, api_key)
    368 
    369     if data_source == …
Run Code Online (Sandbox Code Playgroud)

python typeerror python-3.x yahoo-api

8
推荐指数
1
解决办法
8433
查看次数