Last answered:

23 Aug 2023

Posted on:

22 Mar 2023

0

Resolved: An error is occuring when we execute PG = wb.DataReader('PG', data_source='yahoo', start='1995-1-1')

Tried following:

pip install --upgrade pandas
pip install --upgrade pandas-datareader

Still getting error.

Error Details: 

~\anaconda3\lib\site-packages\pandas_datareader\base.py in read(self)
    251         # If a single symbol, (e.g., 'GOOG')
    252         if isinstance(self.symbols, (string_types, int)):
--> 253             df = self._read_one_data(self.url, params=self._get_params(self.symbols))
    254         # Or multiple symbols, (e.g., ['GOOG', 'AAPL', 'MSFT'])
    255         elif isinstance(self.symbols, DataFrame):

~\anaconda3\lib\site-packages\pandas_datareader\yahoo\daily.py in _read_one_data(self, url, params)
    151         try:
    152             j = json.loads(re.search(ptrn, resp.text, re.DOTALL).group(1))
--> 153             data = j["context"]["dispatcher"]["stores"]["HistoricalPriceStore"]
    154         except KeyError:
    155             msg = "No data fetched for symbol {} using {}"

TypeError: string indices must be integers

5 answers ( 1 marked as helpful)
Posted on:

22 Mar 2023

3

Found following solution:

import pandas
from pandas_datareader import data as pdr
import yfinance as yfin
yfin.pdr_override()

df = pdr.get_data_yahoo("PG", start="1995-1-1", end="2023-1-1")
print(df)

Instructor
Posted on:

25 Mar 2023

0

Hi Alok!


Thanks for reaching out.


Thank you for sharing your solution with the Community and letting us know you are able to continue taking the course.

Indeed, yfinance is a good alternative we have not switched to yet, mainly because of the low reliability of such modules/APIs we've been observing during the past few years. Although yfinance, in particular, has been quite stable itself. 

That's why we'd still advise you to use the *.csv files provided to complete the course and only when you've finished it, then, so to say, "experiment" with various modules for obtaining data online.


Hope this helps.
Best,
Martin

Posted on:

21 Jun 2023

1

hello mr. Martin,

i wanna to ask you why yfinance doesn't work with me.

also i can't add kernel python2, i working only with python3

so please answer to me asap

thank you

Super learner
This user is a Super Learner. To become a Super Learner, you need to reach Level 8.
Posted on:

01 Aug 2023

0

Thanks Alok. Your solution worked for me

Instructor
Posted on:

23 Aug 2023

0

Hi Amal and Mayurkumar!

Thanks for reaching out.

@Amal: If you are currently working with Python 3, I don't think you should be worried - it's better to work with Python 3 than 2, so your kernel should be sufficient.

Regarding yfinance - have you installed that module first?

Hope this helps.
Kind regards,
Martin

Submit an answer