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

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

DDD
DDDOriginal
2024-10-21 15:42:30854Durchsuche

How to Avoid the

TypeError: „String-Indizes müssen ganze Zahlen sein“ beim Zugriff auf Yahoo Finance-Aktiendaten mit Pandas Datareader

Problem

Bei Verwendung von Pandas Datareader zum Abrufen von Aktien Wenn Benutzer Daten von Yahoo Finance verwenden, kann beim Zugriff auf die Daten für eine bestimmte Aktie die Fehlermeldung „TypeError: String-Indizes müssen Ganzzahlen sein“ auftreten. Dies tritt auf, wenn eine Diskrepanz zwischen dem erwarteten Datentyp für den Symbolparameter und dem tatsächlichen Typ besteht, der an die Methode get_data_yahoo übergeben wird.

Ursache

Die Methode get_data_yahoo erwartet eine Zeichenfolge oder eine Liste von Zeichenfolgen als Eingabe für den Symbolparameter, der die Tickersymbole der abzurufenden Aktien darstellt. Wenn jedoch ein ungeeigneter Datentyp bereitgestellt wird, beispielsweise eine Ganzzahl oder eine Liste von Ganzzahlen, kann die Konvertierung in Zeichenfolgen zu dem Fehler führen.

Lösung

Um den Fehler zu beheben, stellen Sie sicher, dass Der Symbolparameter ist korrekt angegeben:

  1. Für eine einzelne Aktie: Wenn Sie auf Daten für eine einzelne Aktie zugreifen, geben Sie das Tickersymbol als Zeichenfolge in Anführungszeichen an.
  2. Für mehrere Aktien: Wenn Sie auf Daten für mehrere Aktien zugreifen, stellen Sie eine Liste mit Zeichenfolgen bereit, die die Tickersymbole darstellen. Stellen Sie sicher, dass die Liste korrekt formatiert ist und jedes Symbol in Klammern und Anführungszeichen steht.

Beispiel für Einzelaktien:

<code class="python">import pandas_datareader

start = "2022-12-15"
end = "2022-12-15"
symbol = "TATAELXSI.NS"

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

print(data)</code>

Beispiel für Mehrere Aktien:

<code class="python">import pandas_datareader

start = "2022-12-15"
end = "2022-12-15"
symbols = ["TATAELXSI.NS", "TCS.NS", "RELIANCE.NS"]

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

print(data)</code>

Durch Befolgen dieser Schritte können Benutzer mit Pandas Datareader erfolgreich auf Aktiendaten von Yahoo Finance zugreifen und den Fehler „TypeError: String-Indizes müssen Ganzzahlen sein“ vermeiden.

Das obige ist der detaillierte Inhalt vonWie vermeide ich den Fehler „TypeError: String-Indizes müssen Ganzzahlen sein' beim Zugriff auf Yahoo Finance-Aktiendaten 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