Heim >Backend-Entwicklung >Python-Tutorial >Wie behebe ich den Fehler „TypeError: String-Indizes müssen Ganzzahlen sein' beim Zugriff auf Yahoo Finance-Daten mit Pandas Datareader?

Wie behebe ich den Fehler „TypeError: String-Indizes müssen Ganzzahlen sein' beim Zugriff auf Yahoo Finance-Daten mit Pandas Datareader?

Linda Hamilton
Linda HamiltonOriginal
2024-10-21 15:38:29859Durchsuche

How to Resolve the

TypeError beim Zugriff auf Yahoo Finance-Daten mit Pandas Datareader

Beim Abrufen von Bestandsdaten von Yahoo Finance mit Pandas Datareader können Benutzer auf einen „TypeError“ stoßen : String-Indizes müssen Ganzzahlen sein“ Fehler. Dieses Problem kann auftreten, wenn der Parameter „symbols“ eine Liste von Zeichenfolgen erwartet, stattdessen aber auf eine Zeichenfolge stößt.

Um diesen Fehler zu beheben, stellen Sie sicher, dass der Parameter „symbols“ eine Liste von Aktienkennungen ist. Hier ist ein Beispiel für einen funktionierenden Code:

<code class="python">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)</code>

Zusätzlich hat ein GitHub-Benutzer namens raphi6 eine Pull-Anfrage mit einer Lösung für dieses Problem bereitgestellt. Um diesen Fix zu installieren, befolgen Sie diese Schritte:

  1. Installieren Sie die folgenden Abhängigkeiten:

    conda install pycryptodome pycryptodomex
  2. Deinstallieren Sie die aktuelle Version von Pandas Datareader:

    conda uninstall pandas-datareader
  3. Installieren Sie die Pull-Request-Version von Pandas Datareader:

    pip install git+https://github.com/raphi6/pandas-datareader.git@ea66d6b981554f9d0262038aef2106dda7138316

Alternativ hat ein Benutzer namens Nikhil Mulley eine Problemumgehung vorgeschlagen die Funktion pdr_override(). Diese Funktion kann wie folgt verwendet werden:

<code class="python">import pandas_datareader as pdr
import pandas as pd

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

stock_symbol = stock_list[0]
stock_obj = pdr.DataReader(stock_symbol, 'yahoo', start, end)
stock_data = pd.DataFrame({stock_symbol: stock_obj['Close']})
</code>

Das obige ist der detaillierte Inhalt vonWie behebe ich den Fehler „TypeError: String-Indizes müssen Ganzzahlen sein' beim Zugriff auf Yahoo Finance-Daten mit Pandas Datareader?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn