Forum
>>
Principianti
>>
Errore bloccante
Pagina: 1
Esegui il login per scrivere una risposta.
Pagina: 1
Scritto da gpy |
2023-05-24 22:12:24 - Errore bloccante
|
Buongiorno, premetto che sono un neofita.Sto cercando di scaricare dei dati da yahoo finance, seguendo alcuni tutorial da youtube. Dopo aver installato le librerie pandas_datareader, numpy,datetime ( vi indico il codice utilizzato) ho scritto questa istruzione che mi genera questo errore che non riesco a risolvere. Aggiungo che sto utilizzando Jupyter Notebook. Qualcuno può aiutarmi pls? Grazie .Gpy
from pandas_datareader import data as web import pandas as pd import numpy as np from datetime import datetime import matplotlib.pyplot as plt plt.style.use('fivethirtyeight') assets = ['APPL','BA','NTFLX','TSLA'] stockStartdate = '2020-01-01' today =datetime.today().strftime('%Y-%m-%d') today df = pd.DataFrame() for stock in assets: df stock = web.DataReader(stock, data_source='yahoo',start=stockStartdate,end=today) ERRORE: TypeError Traceback (most recent call last) Cell In30, line 2 1 for stock in assets: ----> 2 df stock = web.DataReader(stock, data_source='yahoo',start=stockStartdate,end=today) File ~\anaconda3\lib\site-packages\pandas\util\_decorators.py:211, in deprecate_kwarg.<locals>._deprecate_kwarg.<locals>.wrapper(*args, **kwargs) 209 else: 210 kwargsnew arg name = new_arg_value --> 211 return func(*args, **kwargs) File ~\anaconda3\lib\site-packages\pandas_datareader\data.py:379, in DataReader(name, data_source, start, end, retry_count, pause, session, api_key) 367 raise NotImplementedError(msg) 369 if data_source == "yahoo": 370 return YahooDailyReader( 371 symbols=name, 372 start=start, 373 end=end, 374 adjust_price=False, 375 chunksize=25, 376 retry_count=retry_count, 377 pause=pause, 378 session=session, --> 379 ).read() 381 elif data_source == "iex": 382 return IEXDailyReader( 383 symbols=name, 384 start=start, (...) 390 session=session, 391 ).read() File ~\anaconda3\lib\site-packages\pandas_datareader\base.py:253, in _DailyBaseReader.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): File ~\anaconda3\lib\site-packages\pandas_datareader\yahoo\daily.py:153, in YahooDailyReader._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 --- Ultima modifica di gpy in data 2023-05-24 22:29:59 --- |
|
Scritto da Daniele aka Palmux |
2023-05-25 09:28:06 - Re: Errore bloccante
|
Ciao e benvenuto.
Non è il mio settore di competenza e non ho mai provato il codice che fornisci, ma vedo che non sei l'unico ad avere questo problema, deve essere una cosa nota. Vedo che come risoluzione suggeriscono di puntare direttamente a yfinance: !pip install yfinance import yfinance as yf df = yf.download("TSLA", start="2023-01-01", end="2023-05-25") print(df) ...e compaiono i dati richiesti. Dicono i più che siano esattamente gli stessi, ma non so assolutamente dirti se questa cosa è vera, come ti premettevo non sono assolutamente ferrato su questo argomento. Fai sapere se risolvi. Cya |
|
Scritto da gpy |
2023-06-05 09:55:07 - Re: Errore bloccante
|
Grazie. Questa istruzione funziona.
|
Pagina: 1
Esegui il login per scrivere una risposta.